Först vill jag säga att språket inte är det viktigaste, så stirra dig inte blind på vilket språk du ska eller inte ska använda. Prova olika språk, och välj det du tycker bäst om. Det mesta går att uttrycka i alla språk.
Själv började jag mitt liv med ZX81 basic. Mitt första program var detta:
Sen dess har det blivit VIC64 BASIC, 6510 Assembler, GFA Basic, C, C++, MC68000 Assembler, Turbo Pascal, myML, Delphi, Visual Basic, PIC16C84 Assembler, Java, XSLT, JavaScript, JSP, Perl, Ruby, Python, PHP, och kanske nått till...
Mest erfarenhet har jag av Java, Perl och C++ eftersom jag jobbat med dessa.
Jag började med C++, men det är svårt att snabbt utveckla med det, så jag letade efter ett nytt språk, och hittade Perl. Perl är väldigt snabbt att utveckla små kraftfulla skript i. Men efter ett år så insåg jag att jag måste ha ett programmeringspråk som också är lätt att underhålla. Det märker man när man börjar ha tusentals rader kod i olika moduler som skall samverka. Så till sist landade jag på Java med NetBeans som IDE.
Jag tycker
Java,
Perl,
Ruby och
Python är utomordentliga alternativ att börja med.
* NetBeans har en bra GUI editor (Matisse), så det är lätt att komma igång med GUIs i Java.
* Python har fördelen att man kan kompilera en körbar fil (.exe). Så du kan skicka program till andra utan att de måste installera interpreter och allt annat som hör till. Java går att köra nästan överallt, och är nästan 100% platformsoberoende. Det beror lite på vad man gör, men man måste installera JRE:n innan det går att köra. I vissa fall även JMF, eller nått annat extratillbehör.
* Perl och Ruby har 'fördelen' att man kan skriva väldigt kompakta (och oläsliga) program;
* Perl, Python och Ruby har dynamisk typning, dvs du behöver inte ange om variabeln är en integer eller en sträng. De har även jättebra stöd för mappnings-strukturer (maps, hashes) och listor (arrayer). I Java är dessa datastrukturer lite mer krävande att använda.
* Den enda nackdel jag känner med Java är kompileringstiden. Dock har jag hört att Eclipse IDE är bra där. Perl, Python och Ruby är helt interpreterade språk, så ingen kompilering behövs.
* Java är lätt att underhålla. Det finns mycket bra stöd där för det som kallas
refactoring. Så när din kodbas växer är det lätt att modifiera, och anpassa paket (programmoduler) till varandra.
Det som är viktigt i programmering har ofta väldigt lite med språket att göra, och är ofta sånt man märker efter något år. Vilka klasser, metoder, arv mm behövs egentligen. Vad är vettiga namn på klasser, funktioner och variabler. Ibland kan det vara bara
x eller
y, men oftast inte. Att skriva kommentarer till koden som man kan förstå ett år senare. Ska man använda en float eller double när man räknar kronor och ören? Jag börjar mer och mer inse att båda är helt fel.
Åsså kan ja bara inte låta bli att ge några tips.
*
Titta på andras kod. Det lär man sig mycket av.
* Lär dig
objekt orienterad programmering så fort du kan. Det är ett lite speciellt sätt att tänka, men det är mycket kraftfullt, och förenklar ofta väldigt många saker. Perl, Ruby, Python och Java stöder detta, men (tyvärr) går det även att strunta i det om man inte vill bry sig, och köra gammal hederlig proceduriell programmering, precis som i C och BASIC.
* Lär dig
RegExp. Mycket bra verktyg för att matcha, klippa och klistra i strängar. Du kommer säker att ha användning av det. Perl är regexps moder kan man nog säga, men det finns stöd för dessa i Java, Ruby och Python också. Java har en inbyggd som inte är värst bra, men den går att ersätta med Apache Jakarta Regexp.
Alla språk har sina speciella egenskaper, både fördelar och nackdelar.
Så jag får instämma med vad andra sagt: Where do you want to go today?