Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  28 2784
Den vanligste kategorien spørsmål på dette forumet her er den som forsøker å få svar på hvilket programmeringsspråk man bør begynne med, eventuelt hvilket språk som er best egnet til ditt og datt.

Det vanligste svaret man får her er Python, deretter en blanding av Java, C og C++, etterfulgt av C# og VB.NET i omtrent den rekkefølgen. Selv har jeg slengt inn Ruby som et forslag et par ganger, men føler jeg ble møtt med nokså tomme blikk.

Jeg tror dette forumet representerer en litt uvanlig blanding utviklere, og vil anbefale dem som ber om råd å vurdere kilden nøye. For å sjekke edrueligheten av disse rådene sammenlignet jeg dem med ThoughtWorks' Technology Radar for januar 2011, for å se hvilke anbefalinger de gjør i forhold til språk.

Språk som har bevist sin styrke, som fortsatt har en fremtid, og som utviklere bør bruke i dag er:
  • Ruby (og JRuby, dvs Ruby på JVM)
  • C# 4.0
  • JavaScript som et fullverdig språk

Språk som det er på høy tid å eksperimentere med er:
  • Groovy
  • Scala

I tillegg har de en liste med språk man kan begynne å vurdere - språk de har tro på for fremtiden:
  • Clojure
  • F#

Så hva skal vi trekke ut av dette? La meg foreslå følgende observasjoner:
  • Python er ikke på lista. Det betraktes ikke som et seriøst språk i enterprise-verden, Ruby har tatt den posisjonen som Python kunne hatt..
  • C/C++ er ikke på lista. Dette er i dag nesten for special-purpose språk å regne, for dem som har behov for low-level systemprogrammering, utvikling av drivere, high perf etc. Og også på disse områdene mister C/C++ stadig mer grep.
  • Java er ikke blant språkene ThoughtWorks anbefaler lengre. De sier tvert om at Java har utspilt sin rolle, og er i ferd med å avgå med døden.
  • Det betyr derimot ikke at JVM er en død plattform, noe de andre språkene på listen viser (JRuby, Groovy, Scala og Clojure).
  • Bransjen tror vi vil benytte mer funksjonell programmering i fremtiden, og kanskje spesielt i en hybrid form (Scala, Clojure, F#)

Det finnes mange ulike kriterier for å velge språk. Men som nybegynner er man ofte interessert i noe som er velbrukt, språk som gir størt mulig muligheter for fremtiden. Basert på dette vil jeg komme med følgende anbefaling for nybegynnere:
  • Det finnes to språk du kan vurdere: C# og Ruby. De representerer to ulike kategorier språk, henhoildsvis statisk typet vs. dynamisk typet. Som utvikler bør du beherske begge, men du kan begynne med ett av dem
  • Vil du ha et forsprang på andre utviklere bør du i tillegg lære deg et funksjonelt språk. Språkene bransjen har mest tro på er Scala, Clojure og F#.

Oppdatering:
At disse rådene sammenfaller med "mine egne språk" gjør ikke argumentasjonen subjektiv. Men for ordens skyld, jeg koder først og fremst i C#, Ruby og Clojure.

8D
Dette er jo selvsagt ganske korrekt hvis du vil drive med IT-konsulent-arbeid, dvs webprogrammering og infrastruktur. Det er klart at dette er en bransje mange ender opp i, men det er viktig å huske på at programmering ikke er begrenset til konsulentvirksomhet og tilhørende bransjer. C/C++ er special-purpose? Og javascript general purpose? Jeg må nesten le, dette kommer åpenbart fra noen som driver med webutvikling på heltid.

La meg komme med følgende motpoeng: Hvis du skal drive med vitenskaplig arbeid eller embedded er det ikke et eneste av de anbefalte språkene som er egnet og dette er bransjer som er både veldig store (og noen vil kanskje si viktigere enn enterprise/webprogrammering ).

Poenget med å velge første språk er uansett ikke hvor mye språket kan brukes til eller hvor store anvendelser det har, men heller at man lærer seg konseptene uten å bli stuck i for mye syntaks.
Sist endret av ivioynar; 17. februar 2011 kl. 09:19.
God tråd, jeg lurer på om perl kan betraktes som et seriøst språk i enterprise-verden?
noen som har peil?
I min erfaring egner perl seg mer til nettverksadministrasjon. perl kan brukes til mye mer, men finner at andre språk egner seg bedre til general purpose enn perl.
Jeg koder ikke i noen av språkene som er nevnt, men kan likevel si meg helt enig med tormaroe i de generelle anbefalingene

Når det er sagt er det (som ivioynar er inne på, om enn kanskje ikke direkte) vanlig at man ender opp med et helt annet programmeringsspråk enn det man begynte å lære seg konseptene i. Skal man virkelig bli en god utvikler bør man absolutt ikke låse seg til et enkelt språk.

Selv holder jeg på med PHP, men veien dit har vært lang. Jeg har prøvd mange språk underveis, og skal være helt enig i mange på forumet her om at PHP egentlig ikke er det språket man bør begynne med. Til det er programstrukturen alt for uoversiktlig.
codeslinger
tormaroe's Avatar
Trådstarter
Sitat av ivioynar Vis innlegg
C/C++ er special-purpose? Og javascript general purpose? Jeg må nesten le, dette kommer åpenbart fra noen som driver med webutvikling på heltid.
Vis hele sitatet...
Jeg driver ikke mye med webutvikling nei, og ikke js heller. Men det er en trend at js brukes til stadig mer og mer. Unnlot derimot å kommentere dette..

Sitat av ivioynar Vis innlegg
La meg komme med følgende motpoeng: Hvis du skal drive med vitenskaplig arbeid eller embedded er det ikke et eneste av de anbefalte språkene som er egnet og dette er bransjer som er både veldig store (og noen vil kanskje si viktigere enn enterprise/webprogrammering ).
Vis hele sitatet...
Motpoenget ditt er selvsagt valid, men i kvantitet vinner enterpise (om ikke i viktighet, som du påpeker).

Det finnes mange kriterier, men viktigheten av det jeg kommer med her bør heller ikke undervurderes.... er min påstand.
codeslinger
tormaroe's Avatar
Trådstarter
Sitat av ivioynar Vis innlegg
Hvis du skal drive med vitenskaplig arbeid eller embedded er det ikke et eneste av de anbefalte språkene som er egnet
Vis hele sitatet...
En ekstra kommentar til dette. For embedded utvikling i C# kan man ta en titt på .Net Micro Framework. Har ikke brukt det selv, men det er konge for .Net-utviklere som vil geeké ut.

For vitenskapelig arbeid er det vel ingen av språkene som egner seg spesielt dårlig. Det er bare andre språk som har mere traction. Og så vil man kanskje heller velge et renere språk fra den funksjonelle sfæren, som Haskell. Men clojure er da slettes ikke uvitenskapelig. Eller? Kan du utdype hvorfor disse språkene ikke er egnet for vitenskapelig arbeid??
Er enig i mye de Thoughtworks sier, men på ett punkt skiller trådene i dette forumet seg ut; de er stort sett fra folk som ser etter sitt første programmeringsspråk. Ville du anbefalt et funksjonelt språk til noen som ikke har noen som helst bakgrunn? jeg husker i alle fall godt mitt første møte med lisp som ganske fersk student (med 15sp i grunnleggende/"videregående" programmering i java i sekken), det var et aldri så lite helvete.

For nybegynnere er min klare mening at språk spiller veldig liten rolle, det som teller aller mest er tilgang til læringsressurser. Om du følger MiT OpenCourseWare sine videocasts om Python, leser en introduksjonsbok til ruby eller følger et opplegg i java fra en norsk høyskole vil alle fungere. Det viktige er å lære grunnleggende konsepter, ikke syntax. Fix the basics før man begynner å tenke på at noen språk er mer fremtidsrettede og aktuelle, egner seg bedre til spesielle oppgaver etc.
codeslinger
tormaroe's Avatar
Trådstarter
Sitat av moridin Vis innlegg
Ville du anbefalt et funksjonelt språk til noen som ikke har noen som helst bakgrunn? jeg husker i alle fall godt mitt første møte med lisp som ganske fersk student (med 15sp i grunnleggende/"videregående" programmering i java i sekken), det var et aldri så lite helvete.
Vis hele sitatet...
Lisp er et dårlig eksempel - det er langt mer enn et funksjonelt språk, og ganske riktig svært krevende. Vil absolutt ikke anbefale det.

Tror derimot det vil være fordelaktig å bli introdusert for den funksjonelle paradigmen mens hjernen enda er ganske ren og mottagelig. Scala og F# representerer språk som forsøker å blande OOP og FP, og det kan være veien å gå.

Når det er sagt er python også et språk som støtter FP...

FP er ikke vanskeligere enn OOP. FP er vanskelig når erfaring har støpt hjernen din i en OOP-form. Og Lisp er vanskelig uansett!
Sist endret av tormaroe; 17. februar 2011 kl. 10:26.
med fruktkjøtt.
Tias's Avatar
Crew
Jeg har absolutt ingen tro på at Java har utspilt sin rolle, og selv om JVM gir rom for nye språk så finnes det i enterprise-verdenen allerede tusenvis av programmer og løsninger kodet i Java, som alle trenger vedlikehold og videreutvikling. At Java kanskje ikke er den beste løsningen hvis man skal lage noe nytt fra bunnen av kan jeg til dels være enig i, men det er bare plass til et gitt antall nye applikasjoner - de eksisterende trenger også arbeid.
codeslinger
tormaroe's Avatar
Trådstarter
Tias: Greit nok, men det plasserer likevel Java i samme kategori som Fortran og Cobol, eller hva?
med fruktkjøtt.
Tias's Avatar
Crew
Sitat av tormaroe Vis innlegg
Tias: Greit nok, men det plasserer likevel Java i samme kategori som Fortran og Cobol, eller hva?
Vis hele sitatet...
På ingen måte. Java er langt mer utbredt enn Fortran og Cobol i dag, og det kommer det til å være i veldig mange år fremover. Java og Java EE er gull for enterprise-markedet.

Jeg jobber med å utvikle webløsninger i Common Lisp, et språk langt mindre utbredt enn Java. Selv om det ikke er veldig mange bedrifter som jobber med CL i dagens marked så spiller selv dette språket en rolle. Hvor stort tror du arbeidsmarkedet er for Java i forhold? Gigantisk!
Sitat av tormaroe Vis innlegg
Det vanligste svaret man får her er Python, deretter en blanding av Java, C og C++, etterfulgt av C# og VB.NET i omtrent den rekkefølgen. Selv har jeg slengt inn Ruby som et forslag et par ganger, men føler jeg ble møtt med nokså tomme blikk.

Jeg tror dette forumet representerer en litt uvanlig blanding utviklere, og vil anbefale dem som ber om råd å vurdere kilden nøye. For å sjekke edrueligheten av disse rådene sammenlignet jeg dem med ThoughtWorks' [...]
Vis hele sitatet...
Å lære seg å programmere er ikke det samme som å spesialisere seg i et språk.

Jeg ville ikke anbefale noen som helst å gjøre et bevisst valg i å spesialisere seg i Python, men det er fortsatt et jævla bra språk å lære seg å programmere i. Som en som faktisk har undervist programmering på videregående kan jeg fortelle deg at det er utrolig mange ting du nå tar for gitt som må læres:

Hele konseptet at man må skrive nøyaktig er det mange som sliter med. Deretter kommer programflyt (en og en instruksjon kjøres..), enkel og avansert manipulering av programflyten (for, while etc og deretter funksjoner), skop på funksjoner, klasser etc.

Alle disse er 100% generelle, og det er særdeles mye lettere å lære dem i et språk som ser enkelt ut og lar deg gjøre ting uten for mye stress. Interpreteren i Python er også gull verdt for en nybegynner. Python er i det hele tatt et ytterst genialt opplæringspråk.

Når man først har lært seg å programmere, så kan man ta beslutningen om hvilket språk man vil spesialisere seg i. Da er posten din relevant.
Sist endret av DumDiDum; 17. februar 2011 kl. 10:42.
Sitat av tormaroe Vis innlegg
En ekstra kommentar til dette. For embedded utvikling i C# kan man ta en titt på .Net Micro Framework. Har ikke brukt det selv, men det er konge for .Net-utviklere som vil geeké ut.
Vis hele sitatet...
Det er jo klart det er mulig, men jeg har ikke egentlig sett det i bruk. Det handler jo om hva som er etablert og hva som er standarden. Man kan jo alltids finne løsninger for å bruke alle språk på alle plattformer, men hvis man vil jobbe ute i virkeligheten tror jeg ikke det er realistisk å jobbe på embedded systemer uten en god forståelse av C.


For vitenskapelig arbeid er det vel ingen av språkene som egner seg spesielt dårlig. Det er bare andre språk som har mere traction. Og så vil man kanskje heller velge et renere språk fra den funksjonelle sfæren, som Haskell. Men clojure er da slettes ikke uvitenskapelig. Eller? Kan du utdype hvorfor disse språkene ikke er egnet for vitenskapelig arbeid??
Vis hele sitatet...
Det er andre språk som har mer traction (ingen av de nevnte språkene brukes såvidt jeg vet i det hele tatt) og det var jo nettopp et argument for å ikke la python være med i listen din...?

Hvis du skal drive med vitenskaplig programmering er det etablerte standarder og biblioteker som gjelder og da er det stort sett C, R, FORTRAN, MATLAB ol. som gjelder, i tillegg til at Python begynner å bli litt populært (da gjerne med C-moduler). Jeg vet at et av de større, mest fagtunge forskningsfirmaene planlegger denne løsningen. I tillegg er de fleste språk som ikke har lavnivåtilgang uaktuelle og høyoptimaliserte pakker som BLAS og LAPACK er nødvendige for å kunne få gjort ting på rimelig tid. Da er det essensielt at bindings til pakkene ikke er i betautgave slik at man slipper å bruke masse tid på å få det til å virke. Mye av programvaren kjører også på clustermaskiner og hvis språket ikke har god, lett tilgjengelig støtte for f.eks. OpenMPI er det ikke aktuelt.

I tillegg er det ofte et krav at programmeringsspråkene har ferdige, lett tilgjengelige implementasjoner av sofistikerte statistiske og numeriske algoritmer, hvor det er en del krav til korrekthetssjekker og numerisk stabilitet som ofte krever at fagpersoner skriver koden, fagpersoner som gjerne har andre naturvitenskaplige fag som bakgrunn og derfor helst skriver mer etablerte språk.
codeslinger
tormaroe's Avatar
Trådstarter
Sitat av DumDiDum Vis innlegg
Hele konseptet at man må skrive nøyaktig er det mange som sliter med. Deretter kommer programflyt (en og en instruksjon kjøres..), enkel og avansert manipulering av programflyten (for, while etc og deretter funksjoner), skop på funksjoner, klasser etc.
Vis hele sitatet...
Du sier mye fornuftig, men alt er ikke sort-hvitt. for og while er f.eks. konstruksjoner i imperative språk, og finnes ikke på samme måte i funksjonelle språk. Klasser er noe du finner kun i klasse-baserte språk, og man tenker på en helt annen måte i f.eks. JavaScript som er prototype-basert, eller Erlang, som ikke har noe som ligner i det hele tatt, men likevel inneholder alle elementene som skal til for å kalle noe objektorientert.

Vi begynner ikke lenger med assembly når vi skal bli programmerere, men med høyere-nivå språk, og vi har ikke filla peiling på hvordan datamaskinen egentlig fungerer. Funskjonelle språk kan sies å være høyere nivå enn imperative språk. Må vi da lære de imperative for å bli programmerere?

(De fleste vil sikkert si "ja" i endel år til, men vi får se... Vet ikke hvor jeg står, bare tenker høyt.)
Sitat av tormaroe Vis innlegg
Vi begynner ikke lenger med assembly når vi skal bli programmerere, men med høyere-nivå språk, og vi har ikke filla peiling på hvordan datamaskinen egentlig fungerer. Funskjonelle språk kan sies å være høyere nivå enn imperative språk. Må vi da lære de imperative for å bli programmerere?
Vis hele sitatet...
Jeg er en tilhenger av å ha en del abstraksjon mellom meg og instruksjonssettet når jeg skriver mye av koden min, men blir ikke det litt feil å argumentere med at fordi man ikke har peiling på de underliggende prosessene så kan man like gjerne innføre enda et nivå med abstraksjon?

Det er et fundamentalt problem at folk som driver med programmering ikke riktig forstår datamaskinen de programmerer på. Man kan si at ytelse kanskje ikke er så viktig når man jobber på en superkraftig datamaskin, men jeg tror de fleste har godt av innsikt i lavnivåprogrammering, om enn bare for å se nøyaktig hvor sløsete høyere nivåspråk er med ressursene.

Alt for mange går rundt og bruker vilkårlige, språkspesifikke datastrukturer uten å tenke på om minne er preallokert eller blir dynamisk reallokert, aksesstider eller operasjonskompleksitet. Av og til tror jeg den type fandenivoldskhet har like mye skyld i at jeg må kjøpe ny PC hvert tredje år som at det faktisk skjer fremskritt. Her er det verdt å tenke på at netbooks, smartphones ol. begynner å bli svært aktuelle utviklingsplattformer, hvor man igjen må ha lavnivåprogrammering i bakhodet.
codeslinger
tormaroe's Avatar
Trådstarter
Sitat av ivioynar Vis innlegg
Det er jo klart det er mulig...
Vis hele sitatet...
Takk for fyldig svar og innblikk i hva som er praksis i utviklingsmiljøene.

Selv har jeg hørt om bruk av C# / .Net i forskningsammenheng, men det er via typiske .Net-kanaler (podcasts). Ruby har super C-binding, og burde egne seg like bra som Python - men antar det tar lengre tid å endre vaner i forskningsmiljøene enn i software-bransjen.

Sitat av ivioynar Vis innlegg
jeg tror de fleste har godt av innsikt i lavnivåprogrammering
Vis hele sitatet...
Jeg er helt enig. Men det betyr ikke at det er der man må begynne når man skal lære seg programmering. Har mer tro på top-down enn bottom-up i dette tilfellet.

Sitat av Tias Vis innlegg
Jeg jobber med å utvikle webløsninger i Common Lisp, et språk langt mindre utbredt enn Java.
Vis hele sitatet...
Spennende - helt på siden av diskusjonen selvfølgelig. Sitter og leser meg opp på CL nå (Land of Lisp). Er interessert i å vite hvilke rammeverk du bruker for webutvikling.
med fruktkjøtt.
Tias's Avatar
Crew
Sitat av tormaroe Vis innlegg
Spennende - helt på siden av diskusjonen selvfølgelig. Sitter og leser meg opp på CL nå (Land of Lisp). Er interessert i å vite hvilke rammeverk du bruker for webutvikling.
Vis hele sitatet...
Vi bruker ingen rammeverk, men Hunchentoot er en sentral komponent i alle webapplikasjonene våre.
codeslinger
tormaroe's Avatar
Trådstarter
Sitat av Tias Vis innlegg
Vi bruker ingen rammeverk, men Hunchentoot er en sentral komponent i alle webapplikasjonene våre.
Vis hele sitatet...
Herlig logo

http://www.htg1.de/hunchentoot/hunchentoot11.png
Enig i mye av det du sier her, men hadde nok satset på Java i stedet for C#. Jeg har langt mer tro på JVM-plattformen sine fremtidsutsikter, og det er ingen ulempe med litt Java-erfaring når man setter i gang med Clojure eller Scala.

Personlig har jeg stor tro på Haskell som førstespråk. Graham Hutton har en fin introduksjonsside med slides, videoforelesninger etc. her.
Sitat av tormaroe Vis innlegg
En ekstra kommentar til dette. For embedded utvikling i C# kan man ta en titt på .Net Micro Framework. Har ikke brukt det selv, men det er konge for .Net-utviklere som vil geeké ut.
Vis hele sitatet...
Med en straks fullført mastergrad i digital elektronikk, og da i praksis embedded systems, kan jeg fortelle at jeg aldri har hørt snakk om .NET Micro Framework før du nevnte det nå. Det betyr selvsagt ikke at ingen bruker det, men hvis dette var særlig utbredt ville det nok blitt nevnt. I embedded systems bruker man VHDL eller Verilog til å beskrive hardware, og C til å programmere mikrokontrollere – nærmest uten unntak. Det finnes riktignok eksempler på utvidede systemer som lar seg programmere i alskens høynivåspråk, men dette er nærmest utelukkende til hobby- og amatørbruk. DSPer programmeres gjerne i Assembly eller varianter av C. Som sagt finnes det unntak, men C, og i enkelte tilfeller varianter av C++ (som systemC), dominerer kraftig over alternativene i embedded systems.

Jeg kan jo også nevne at NTNU nylig har gått fra å bruke Java som språk i det grunnleggende programmeringskurset til å bruke C++, slik som mange andre høgskoler også gjør.
Det er en stor forskjell på programmeringsspråk som har en fremtid i industrien og de som er ansett for å være "begynnerspråk". Det finnes så uendelig mange ressurser på nett for både Java og Python ment for studenter og/eller totalt nybegynnere. Sistnevnte er ikke vanskeligere å skjønne enn såkalt BATCH-"programmering" som for mange på forumet er godt nok for sitt første "program". Ruby havner vel i samme bås når det kommer til det å kunne teste små forandringer kjapt, men Python har hatt sin plass i flere algoritmefag ved universitetene og drar med seg en del fordeler pga. det.

Det er altså et behov for flere læringsressurser for alle nivåer for de programmeringsspråkene som skal ha livets rett. Nesten all embedded-utvikling jeg har drevet med på NTNU (og nå i samarbeid med SINTEF) har krevd en del spesielle interfaces mot MATLAB eller lignende programvare. Ikke fordi de ikke tør å satse på ny teknologi, men fordi det er greit med en kjent og allment akseptert standard for presentasjon og I/O. Hadde jeg valgt å bruke noe annet måtte jeg nok ha forsvart valget mitt, og risikerer å bli trukket kreditt fordi jeg gjør ting "tungvint".

Kort sagt så kan egentlig ThoughtWorks si hva de vil, men det vil dessverre ikke ha mye å si på en ganske god stund. Inntil verden driver videre er det ikke verdt frustrasjonen å knote med et språk som har mindre/dårligere læringsressurser enn de andre bare fordi det sannsynligvis blir det nye i fremtiden. For en erfaren utvikler, kanskje, men ikke for en nybegynner som kommer hit og spør om sitt første programmeringsspråk.
codeslinger
tormaroe's Avatar
Trådstarter
Provo og Dyret, jeg er ikke uenig i det dere sier. Og jeg tviler på at .Net Micro Framework noen sinne vil få noen sentral posisjon i embedded-miljøet, men på hobby-basis er det interessant for .net-utviklere.

Og ThoughtWorks sin analyse er ment for enterprise-markedet, hva de store selskapene bør satse på - ikke nødvendigvis hva enkeltutviklere bør konsentrere seg om, eller hva som gjelder andre steder. Likevel en interessant motvekt til Python/C++/Java-dominansen på freakforum tenkte nå jeg.

Sitat av Provo Vis innlegg
Jeg kan jo også nevne at NTNU nylig har gått fra å bruke Java som språk i det grunnleggende programmeringskurset til å bruke C++, slik som mange andre høgskoler også gjør.
Vis hele sitatet...
Dette overrasker meg derimot en god del

Ifølge webben bruker de fortsatt Java
Sist endret av tormaroe; 17. februar 2011 kl. 14:35.
Sitat av tormaroe Vis innlegg
Dette overrasker meg derimot en god del

Ifølge webben bruker de fortsatt Java
Vis hele sitatet...
Etter hva jeg har hørt er dette noe som skulle skje ved disse tider. Det kan være at emnebeskrivelsen ikke er oppdatert, eller det kan være at dette kun gjaldt for de som går elektronikk. Jeg er usikker, men jeg kan se om jeg får sjekket det opp.
IT-grunnkurs (TDT4105/TDT4100/IT1102) bruker fortsatt Java Server Pages (JSP) i undervisningen, men har gått over til MATLAB og begynt å kombinere øvingene i Matte 1 sammen med disse. Dette er et fag som nær sagt alle har det første semesteret.

TDT4102 Prosedyre- og objektorientert programmering i semester 2 bruker nå C++, og er det faget de fleste sivilingeniørstudenter nå tar fremfor Java-varianten. Litt mismatch der fortsatt om man har JSP første året, men jeg håper og tror at det blir mer MATLAB der for studentene som får bruk for det senere.
Sist endret av Dyret; 17. februar 2011 kl. 17:00.
Etter en del stikkprøver i studieplanene ser det ut til at det er todelt. Alle har faget "Informasjonsteknologi, grunnkurs" først, hvor programmering kun er en del av faget. Noen, slik som Datateknikk og Ingeniørvitenskap og IKT, bruker da Java, mens de fleste andre som har mer obligatorisk programmering (elektronikk, kybernetikk, fysikk og matematikk, og energi og miljø var de jeg sjekket) bruker Matlab. Videre fortsetter Datateknikk og gjengen med faget "Objektorientert programmering", hvor Java brukes, mens den andre gruppen har faget "Prosedyre- og objektorientert programmering" som bruker C/C++. Jeg vet i hvert fall at elektronikk skiftet fra Java til C++ i år, men om de bare har skiftet fag eller faget har skiftet språk vet jeg ikke.

Hvis man vil se fordelingen selv er studieplanene her: http://www.ntnu.no/studier/studiehandbok/teknologi/

EDIT: Dyret kom meg i forkjøpet, gitt.
Sist endret av Provo; 17. februar 2011 kl. 17:03.
▼ ... noen uker senere ... ▼
Selverklært noob
Apter_2416's Avatar
At python ikke blir tatt seriøst er vel ikke helt korrekt, når dette er et av de språkene google satser på.
▼ ... over en uke senere ... ▼
Akkurat hvilket språk man velger som sitt første er jo ikke så viktig, det er jo ofte de samme tingene som går igjen, hvertfall for en nybegynner (if-tester, løkker, osv). Så lenge det finnes god dokumentasjon og tutorials er det jo greit. Er også en fordel å lære seg et objektorientert språk fra starten av. Sånn sett er både Java, C# og C++ (og kanskje til og med Simula, hvis det finnes nok dokumentasjon ute) gode språk å begynne med, i mine øyne blir scriptespråk som Python bedre å lære seg som et "andrespråk", siden Python tilbyr en del forenklinger som man kanskje ender opp med å ikke forstå hvordan fungerer, dersom man er nybegynner.

Selv begynte jeg med Java og synes det var veldig greit, og har også vært lærerassistent i et innføringsfag hvor c++ ble benyttet, og må si jeg likte det også.
codeslinger
tormaroe's Avatar
Trådstarter
Sitat av Tobb Vis innlegg
.. siden Python tilbyr en del forenklinger som man kanskje ender opp med å ikke forstå hvordan fungerer, dersom man er nybegynner.
Vis hele sitatet...
Har du lyst til å utdype dette?