Re: Lehrabschluss IT-Informatiker -> Programiersprache
Geizhals » Forum » Programmierung » Lehrabschluss IT-Informatiker -> Programiersprache (136 Beiträge, 2804 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
.
Re: Lehrabschluss IT-Informatiker -> Programiersprache
01.06.2010, 11:54:39
ich kann dir leider nicht sagen welche sprachen für prüfungs-projektarbeiten zugelassen sind. und der folgende rant ist ziemlich off-topic. aber ich laber halt gern ...

in erster linie ist es aber wichtiger die "konzepte" zu kennen, statt die sprachen selbst - die sprachen sind nichts anderes als implementationen dieser konzepte.

beherrscht man das konzept - das paradigma -, erlernt man die (vielen) sprachen, welche auf diesem basieren, relativ leicht. man wird vom erlernen neuer konzepte *immer* zu einem besseren programmierer, auch wennsts im brotjob nicht anwenden kannst.

die imperative programmierung kennst du ja schon, nehm ich an. ich würde dir sehr empfehlen, zumindest die grundzüge der deklarativen programmierung einmal auszuprobieren; also funktionale und logische programmierung.

oop gehört da nicht ganz in diese überkategorie der paradigma, ist aber auch eines, welches von verschiedensten sprachen (egal ob imperativ oder funktional) implementiert wird. heutzutage ist es einfach unumgänglich, oop zu beherrschen. und: lern oop nicht über eine programmiersprache, lern zerst das konzept an sich. die umsetzungen sind oft verwaschen und systemspezifisch.
weak und strong typing nicht zu vergessen; beide haben ihre eigenheiten, beides sollte man mal gemacht haben.

das selbe gilt für techniken (wie z.b. unit testing oder dependency injection). diese sind in allen sprachen mehr oder weniger identisch, brauchen kann mans überall.

danach gehts in den bereich: was sagt dir am meisten zu? webapps zu entwickeln unterscheidet sich sehr von desktop-apps, low-level (embedded) programmierung, server-applikationen. ganz abgrenzen lässt sichs ja nicht, und ähnlich sind sich alle; aber die präferenzen der sprache ändern sich. webapps in C? no thx. embeddeds in PHP? eher nicht. im großen und ganzen kann man zwischen zwei großen bereichen unterscheiden: datenbankapps, deren hauptaufgabe es ist, daten aus einer db rauszuholen, anzuzeigen, umzuändern und wieder reinzuspeichern. das sind die meisten web- und desktop-apps. dann gibts noch die anderen 50%, embedded programming. der rest sind verschwindend kleine spezialbereiche; z.b. spieleprogrammierung. und nicht zu vergessen: nur mehr wenige heute verwendete sprachen (außer c/c++ und zu einem gewissen teil auch c#) hast noch manuelles memory-management und/oder explizite pointer.

schlußendlich gehts aber dann doch meistens ums geld verdienen, und da kommt ein wichtiger punkt ins spiel: die nachfrage. auch hier hast du die entscheidung: entscheidest du dich für eine verbreitete sprache, für die viele jobs verfügbar sind (java, php, c, ...) - oder suchst du dir eine nische mit wenig angebot und wenig konkurrenz (wer braucht schon noch lisp/fortran?).

(große) firmen suchen meistens keine "guten" programmierer, da das nicht so einfach zu klassifizieren ist. sie suchen eher programmierer mit erfahrung in einem spezialgebiet, mit referenzen. wennst in einem java shop anfangen willst, dann sind denen deine LISP-kenntnisse wahrscheinlich egal, auch wenn sie einen besseren programmierer aus dir gemacht haben. außerdem gibts da meistens nur eine sehr begrenzte auswahl an sprachen, die eingesetzt werden (und das aus gutem grund).

also, jetzt zu meinen empfehlungen:

- haskell, um funktionale programmierung zu lernen. alternativ clojure (rennt in der jvm) - beide sind grad sehr in mode.

- DLV (http://www.dbai.tuwien.ac.at/proj/dlv/ ) für logikorientierte programmierung (oder prolog). mit denen wirst nicht weit kommen, aber wie gesagt, das grundprinzip dahinter zu verstehen ist viel wert.

- python als general purpose scripting language, alternativ ruby. beide können auch zur web-programmierung verwendet werden und haben einen viel besseren ruf als php, wenn auch vllt. nicht ganz die verbreitung.

- javascript/Lua für prototypenbasierten oop-stil

- java/c# zum geld verdienen. u.u. php, wennst reiner webentwickler werden willst; aber das is gefährlich.

- REBOL. wenn ich rebol nicht empfehle werd ich gschlagen, und das nur zu recht.

- K (http://en.wikipedia.org/wiki/K_%28programming_language%29 ) / kdb+q wennst so richtig viel geld verdienen willst (aber achtung, man verdient nicht ohne grund richtig viel geld damit. unter einem IQ von 130 sind dauerhafte hirnschäden sind zu befürchten. ich meide das zeug wie von der pest befallene leprahuren mit STDs).

wenn ich dir zu einer einzigen sprache für die projektabgabe raten müsste, dann python. wennst zu einem elitären poser-zirkel gehören möchtest, dann schau dir noch einen der lisp-dialekte an ;) viele, die jahrelang bei einer imperativen sprache herumgehanselt sind, schwören auf lisp als augenöffner.

bleib auf keinen fall auf einer sprache sitzen. interessante neuentwicklungen mit interessanten konzepten kommen schneller heraus als man sie ausprobieren kann.



ps:wennst (distributed) revision control management systeme wie git nicht beherrscht, dann aber flott! haben zwar nix mit der sprache zu tun, aber dafür mit dem ganzen rest.

Antworten PM Alle Chronologisch Zum Vorgänger
 
Melden nicht möglich
. PLONKED von Mr. 5
 (DanaBlume am 22.12.2022, 10:54:55)
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung