Dit yndlings programmeringssprog

Tags:    programmering

Som overskriften siger, vil jeg gerne have gang i en debat om hvilket sprog du foretrækker, og hvorfor? Har det noget at gøre med de værktøjer, der er tilgængelig (f.eks. skulle Visual Studio-IDE'et være populært blandt C# udviklere), eller på grund af den programmeringsstil, der understøttes? Det være sig objektorienteret programmering, eller funktionel programmering.

Personligt kan jeg godt lide C++, men det er også det eneste rigtige programmeringssprog, jeg har arbejdet med. Jeg har planer om at lære mig selv Common Lisp, da jeg godt kan li' princippet omkring REPL.

Skyd løs, og lad os få en seriøs debat.



"pop, såsom operator overloading, templates, og lignende gøgl" er netop det der gør C++ til et godt sprog.

Jeg savner ikke en formdesigner, jeg har Borland C++ Builder, men bruger den ikke.

Jeg har aldrig forsået hvorfor man laver sprog der ikke er case-sensitive...



HTML - fordi SGML er en evig kilde til inspiration.



"pop, såsom operator overloading, templates, og lignende gøgl"

Hvorfor er operator overloading og templates(!!!) mere popgøjl end syntaks, variabelnavne, funktioner eller objektorienteret programmering? Alle er features der gør det lettere at udtrykke ens programmer i programmeringssproget, og især templates er en massiv fordel i traditionelle, statisk typede sprog. Og operator overloading er essentielt for at matematiske operationer involverende brugerdefinerede typer ikke ser tåbelige ud.



Må indrømme jeg er til VB 6.0 - lærte det som 9 årig, og det simple syntaks som fx. IF 1=1 THEN --- END IF var lige mig :D

På web siden var det(ud over HTML og CSS) først PHP der fængede, Men så kom Asp.net(VB) hvilket minder om VB, så det er nu mit favorit web :D





Jeg er C# afhængig.. jeg synes det er et fedt sprog. Og jo, jeg støtter onkel Bill fra Microsoft, hvorfor ikke?

Jeg kan ikke forstå, som det tidligere bliver nævnt, at man kan vælge sprog ud fra den funktionalitet. Alle sprog kan de samme ting! Så det er et elendigt argument.

Hvis jeg skal lave en web applikation, bruger jeg helst C# (asp.net). Hvis ikke det er muligt i situationen bruger jeg PHP, hvis ikke det er muligt bruger jeg.... osv

Hvis jeg skal lave en applikation bruger jeg helst C#, hvis ikke det kan lade sig gøre bruger jeg Delphi, hvis ikke det kan lade sig gøre (med min begrænsede viden omkring verdens mest elendige sprog, og her er VB ikke med da det, da jeg ser det som "the dark side"). Hvis ikke det kan lade sig gøre bruger jeg et hvilket som helst andet sprog.

Kort sagt jeg er håndværker! Jeg laver applikationer, det er mit håndværk. Som sådan giver dette spørgsmål ikke mening, kun hvis man er så forstokket at man ikke kan se det større perspektiv!!!

Du stiller vel heller aldrig en tømrer dette spørgsmål: "hvilket værktøj synes du er bedst?". Tømren vil så kun kunne svare: "Dem alle sammen". Boremaskinen er god til at bore huller med, hvis det er et gyngestativ jeg skal lave. Gipsboremaskinen er god, hvis jeg skal sætte gipsvægge op. Min lodstok er god, hvis jeg skal bygge noget der skal være lige... Hvor åndsvag ville du føle dig hvis du spurgte en tømrer om det?

Det samme er gældende om en Udviklers værktøjer: Sprogene.

/B



Kan vi være enige om at der godt kan være kvalitetsforskel på to forskellige hamre, der er designet til samme formål? Kan det så på samme måde ikke også tænkes at der er en indbygget kvalitetsforskel på to programmeringssprog af samme type (og alle de sprog du nævnte er af samme type)? Jeg er af den opfattelse at der findes sprog, der feature-for-feature er bedre end andre, men hvor featuremæssigt ringere sprog vælges pga. bedre sekundæredskaber (IDE'er, debuggere, etc).

Lad os som eksempel tage K&R C og ANSI C - de to sprog er meget tætte på hinanden, men jeg tvivler på at du kan finde nogen som helst, der mener at K&R C i sig selv er et bedre sprog - argumenterne vil altid centrere sig om at man f.eks. har flere hundrede tusinde linjer K&R C i forvejen, og derfor hellere vil arbejde videre i det.

Der er meget store kvalitative forskelle på forskellige programmeringssprog som enkeltstående redskaber, i mine øjne.

EDIT: Jeg mener naturligvis ikke at der findes ét programmeringssprog, der er optimalt til alle opgaver. Jeg snakker om sprog der fungerer på ca. samme måde - det giver ikke mening at sammenligne f.eks. C++ og Prolog på denne måde.



Indlæg senest redigeret d. 01.05.2006 15:36 af Bruger #5688
øøøh... har du ikke lige givet mig ret?

altså, at valget af sprog afhænger af opgaven (mere eller mindre).

Valget af et sprog skyldes jo ofte at mange IDE kan afkorte udviklingstiden, en ikke uvæsentlig faktor i et udviklingsforløb.

Jeg mener fx. heller ikke at der er de helt store forskelle på Delphi og C++ (se det skal nok få nogle fra hver side på mærkerne :-) ). Naturligvis er syntaksen forskellig, men de kan det samme!



øøøh... har du ikke lige givet mig ret?


Nej, jeg påstår at man kan sige "sprog X er bedre end Y" sålænge de to sprog er af samme type.

Jeg mener fx. heller ikke at der er de helt store forskelle på Delphi og C++ (se det skal nok få nogle fra hver side på mærkerne :-) ). Naturligvis er syntaksen forskellig, men de kan det samme!


"De kan det samme" kan ikke bruges som argument for at to programmeringssprog er lige gode, da Alan Turing allerede i starten af det 20. århundrede beviste at alle Turing-komplette sprog (dvs. reelt set alle programmeringssprog) kan udføre enhver mulig beregning, som kan udføres af et Turing-maskine.

Ergo kan muligheden for at udtrykke beregninger ikke bruges som argument for at bestemme om to sprog kan det samme, det giver mere mening at kigge på features: Og der har C++ i dit eksempel en fordel (templates, multiple inheritance, etc). Så hvis man tilsidesætter IDE'er og alle andre sekundære redskaber, mener jeg at det er muligt at bedømme hvilket af N sprog, der er det bedste, sålænge sprogene er af nogenlunde samme type, og jeg formoder at det er dette denne tråd spørger om. Til en konkret opgave bør man naturligvis så overveje tilstedeværelsen af ekstraværktøjer osv.



Jeg er C# afhængig.. jeg synes det er et fedt sprog. Og jo, jeg støtter onkel Bill fra Microsoft, hvorfor ikke?


Fordi der er ingen grund til at hjælpe Bill med at få endnu mere monopol. Hvis vi ikke passer på, bliver det en dag sådan at det er Microsoft der ejer sprogene, og hvis der er andre der vil lave værktøj/compilere til sprogene skal de gætte på hvordan sproget skal virke og betale licens til Bill.


Du stiller vel heller aldrig en tømrer dette spørgsmål: "hvilket værktøj synes du er bedst?".


Man kan ikke sammenligne en hammer med en sav, men du kan godt sammenligne to save.
Du kan ikke sammenligne PHP og C++, men du kan godt sammenligne C++ og Delphi. I denne sammenligning kan jeg ikke se at Delphi har nogen fordele.



Indlæg senest redigeret d. 01.05.2006 19:53 af Bruger #4996
Desværre lider open source af den sygdom at der er for mange om det! Ofte er der ingen eller lidt styring i de open source produkter der bliver udgivet, hvilket gør at man aldrig kan vide sig sikker på at man kan få en version 2.0 af det produkt. Se bare Linux, det er et helvede af versioner og skidt og møg. Hvis man vil lave seriøst software og vil tjene penge på det (og det vil man vel, det er vel derfor man er i IT branchen, der skal jo rugbrød på bordet hver dag) så nytter det altså ikke at ignorere Microsofts produkter af den grund at man ikke vil støtte onkel Bill. Største delen af markedet vil gerne bruge Onkel Bills produkter, så man er tvunget til at udvikle til Win32 platformen for at ramme denne målgruppe. Nogle gange er man bare nødt til at "kill your darlings". Til dagligt sidder jeg og koder Delphi applikationer til de brede masser, men jeg ville da meget hellere kode spil i C#, men sådan skal det bare ikke være - lige nu!

@Troels: jeg er ligeglad med teorien omkring sprogene og hvem der har sagt hvad. Jeg siger bare at hvis du skal bygge eks. en database applikation, så er det lige meget om du laver den i Java, C#, C++, C, Python eller lignende, alle sprogene kan det samme, det er det samme Windows API de skal tilgå, samt de samme drivere osv. Hvordan de beregner nede på laveste niveau rager mig en høstblomst, det er ikke det der er vigtigt for min udvikling af en database applikation. Det eneste tidspunkt det kunne være relevant er hvis man laver real-time, low-level, embedded, mission-critical -agtigt software



t