Gå til innhold

ProgrammeringsBaren! Småprat, om det du elsker!


Anbefalte innlegg

Videoannonse
Annonse

Bortsett fra hvordan språket er bygget opp og man kan lage OS, spill og programmer, hva er egentlig forskjellene på de store programmeringsspråkene? C, C#, VB, C++, Java osv.

 

Jeg har hørt at man kan lage med mindre programmeringsspråk slik som Python kan lage det man kan lage med C++ f.eks., men det er vel fordi det låner filer man har bygget med C++?

Lenke til kommentar

Ja, det er mange moduler, la oss si 50 - 60. Noen av dem er sikkert ganske komplekse, som nattkamera med fotgjengergjenkjenning, Men mange er ganske enkle, det tar ikke mange linjer med kode for å styre varmeapparat eller komfortseter. Man kommer langt med noen tusen linjer kode på en modul.

 

Det er heller lite GUI kode, som typisk tar en vesentlg del av antall kodelinjer i en vanlig Windows applikasjon.

GPS'en har ikke så veldig mye funksjonalitet sammenlignet med en bærbar Garmin, som jeg kan tippe klarer seg med rundt 100.000 linjer.

Lenke til kommentar

Bortsett fra hvordan språket er bygget opp og man kan lage OS, spill og programmer, hva er egentlig forskjellene på de store programmeringsspråkene? C, C#, VB, C++, Java osv.

 

Jeg har hørt at man kan lage med mindre programmeringsspråk slik som Python kan lage det man kan lage med C++ f.eks., men det er vel fordi det låner filer man har bygget med C++?

 

De største forskjellene er hvordan koden i seg selv blir kjørt.

C og C++ blir kompiler rett til Assembly og kjørt da rett på "metallet". C#/VB.Net og Java derimot har sin egen virtuelle maskin, CLR og JVM, som fungere som "metallet". Her blir koden kompiler til sin egen bytekode som er forskjellig fra ASM.

 

Python som de fleste kjenner det, er skrevet i C og kjører sin egen VM i C. Her har du muligheten til å importere C kode til Python og bruke det.

VIktig å huske at du kan se på språk som en Blueprint . Selve språket er forhåndsdefinert med hvordan det ser ut og hva slags detaljer du skal ha, men selve implementasjonen kan være skrevet i Java (Jython), så vell som Python (PyPy) i seg selv. Du har også IronPython som kjører på CLR. Kan nevne Groovy, Scala og Clojure som er skrevet i Java og kjører på JVM.

Mange språk er Turing-Komplett, dvs at språket har muligheten til å løse alle problemer en utvikler må løse.

Endret av JuletreDuden
  • Liker 1
Lenke til kommentar
Gjest Slettet+9871234

Ettersom noen har vært inne på regular expressions, så er det kanskje av interesse for noen å vite at PostgreSQL har sin egen pattern matching løsning. Det kan jo være aktuelt om man jobber på data hentet fra en database. Da kan det være mye raskere å utføre mønster matchingen i selve databasen fremfor i applikasjons programmeringen.

 

Se spesielt avsnittene:

 

9.7.2. SIMILAR TO Regular Expressions

 

9.7.3. POSIX Regular Expressions

 

Se også: http://www.php.net/m.../book.regex.php

 

Relatert for dem som bruker php:

 

Regular Expressions (Perl-Compatible)

Endret av Slettet+9871234
Lenke til kommentar

Ettersom noen har vært inne på regular expressions, så er det kanskje av interesse for noen å vite at PostgreSQL har sin egen pattern matching løsning. Det kan jo være aktuelt om man jobber på data hentet fra en database. Da kan det være mye raskere å utføre mønster matchingen i selve databasen fremfor i applikasjons programmeringen.

 

Se spesielt avsnittene:

 

9.7.2. SIMILAR TO Regular Expressions

 

9.7.3. POSIX Regular Expressions

 

Se også: http://www.php.net/m.../book.regex.php

 

Relatert for dem som bruker php:

 

Regular Expressions (Perl-Compatible)

 

Interessant. Jeg holder akkurat på å lage en søkefunksjon i php(bruker dog MySQL), og der bruker jeg LIKE metoden. Fungerer forholdsvis greit, men så handler det også om å få opp de mest relevante resultatene øverst etc.

Lenke til kommentar

De største forskjellene er hvordan koden i seg selv blir kjørt.

C og C++ blir kompiler rett til Assembly og kjørt da rett på "metallet". C#/VB.Net og Java derimot har sin egen virtuelle maskin, CLR og JVM, som fungere som "metallet". Her blir koden kompiler til sin egen bytekode som er forskjellig fra ASM.

 

Hehe pirke pirke :)

 

Det finnes C og C++-implementasjoner som ikke kompilerer til assembly eller maskinkode for prosessoren det skal kjøre på. C++/CLI er en slik implementasjon som kompilerer C++ til CLR. Det finnes også C# og Java implementasjoner som kompilerer rett til maskinkode.

Lenke til kommentar
Gjest Slettet+9871234

Interessant. Jeg holder akkurat på å lage en søkefunksjon i php(bruker dog MySQL), og der bruker jeg LIKE metoden. Fungerer forholdsvis greit, men så handler det også om å få opp de mest relevante resultatene øverst etc.

 

Jeg har nettopp skrevet en post om PostgreSQL på min oppslagstavle:

 

http://www.oopschool....php?f=60&t=298

 

som burde interessere deg. Merk blant annet det som er skrevet i rødt

 

Triggers and stored procedures can be written in C and loaded into the database as a library, allowing great flexibility in extending its capabilities.

 

samt at der er egne PostgreSQL søkemotorer som for eksempel:

 

OpenFTS

 

OpenFTS (Open Source Full Text Search engine) is an advanced PostgreSQL-based search engine that provides online indexing of data and relevance ranking for database searching. Close integration with database allows use of metadata to restrict search results.

 

Personlig ville jeg valgt PostgreSQL til slikt dersom man skulle velge en åpen plattform, særlig om man ikke trenger finne opp hjulet på nytt.

 

Merk også at http://www.schrenk.com/ i sin bok:

 

http://www.webbotssp...enscrapers.com/ (Merk at koden kan lastes ned).

 

tar regulære uttrykk til et nytt nivå. Boken er også god på php cURL

Endret av Slettet+9871234
Lenke til kommentar

Interessant. Jeg holder akkurat på å lage en søkefunksjon i php(bruker dog MySQL), og der bruker jeg LIKE metoden. Fungerer forholdsvis greit, men så handler det også om å få opp de mest relevante resultatene øverst etc.

 

Vet ikke om du kjenner til denne men Soundex funksjonen kan være grei å bruke i søk for å få opp resultater som ligner på det du søker på.

Endret av andreasn
Lenke til kommentar

Hehe pirke pirke :)

 

Det finnes C og C++-implementasjoner som ikke kompilerer til assembly eller maskinkode for prosessoren det skal kjøre på. C++/CLI er en slik implementasjon som kompilerer C++ til CLR. Det finnes også C# og Java implementasjoner som kompilerer rett til maskinkode.

 

Prøvde å fremheve den muligheten ved å kalle språk for Blueprints. Kan ikke alle implementasjonene til forskjellige språk, så bare å pirke i vei :)

  • Liker 1
Lenke til kommentar

Vet ikke om du kjenner til denne men Soundex funksjonen kan være grei å bruke i søk for å få opp resultater som ligner på det du søker på.

 

Ser bra ut, synd den ikke har god nok(upålitelig) støtte for UTF-8.

 

 

Personlig ville jeg valgt PostgreSQL til slikt dersom man skulle velge en åpen plattform, særlig om man ikke trenger finne opp hjulet på nytt.

 

 

Det er dessverre ikke mulig(med andre ord, for mye jobb :p ), men av ren nysgjerrighet, annet enn søkefunksjonene, hvorfor vil du velge PostgreSQL over MySQL?

Lenke til kommentar

men av ren nysgjerrighet, annet enn søkefunksjonene, hvorfor vil du velge PostgreSQL over MySQL?

 

Det er faktisk veldig mange grunner her, men for å forklare enklast og mest sakleg så er det sånn at PostgreSQL har alltid prioritert konsistent data, funksjonalitet og fleksibilitet framfor ytelse.

 

Ytelsen i PostgreSQL har aldri vore dårleg, men til microbenchmarks så var den tidlegare alltid treigare. Det har forandra seg heilt dei siste åra og idag så er PostgreSQL råare enn Oracle sjølv.

MySQL har dei seinare åra blitt vesentleg betre til større datasett, men den henger enda eit stykke igjen til PostgreSQL på dette området.

Lenke til kommentar
Gjest Slettet+9871234

Det har forandra seg heilt dei siste åra og idag så er PostgreSQL råare enn Oracle sjølv.

 

Mest sannsynlig for det er et mye større miljø som driver plattformen fremover, og så er den åpen.

Lenke til kommentar

Inntrykket mitt er at de fleste bruker MySQL, og kun noen få foretrekker PostgreSQL. Men såvidt jeg vet, så er PostgreSQL flinkere til å følge SQL standarden enn MySQL, har flere funksjoner, og er godt dokumentert. Så hvorfor såpass mange flere bruker MySQL er vel kanskje samme grunnen til at såpass mange flere bruker Windows fremfor Linux?

 

Dog, det du sier om at MySQL ikke har konsistent data, det vet jeg ikke helt om jeg tar for god fisk. Jeg har hvertfall aldri hatt problemer med det.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...