Programmiersprache lernen

Mitglied seit
02.09.2002
Beiträge
3.247
Reaktionen
82
solange du nicht assembler schreibst (und da ist komplexeres voellig unmoeglich) und einen ordentlichen compiler verwendest (-fomg-optimized -funroll-loops ;)) wirst du wohl kaum schneller als c.
In Anbetracht der Tatsache, dass heutige Prozessoren eher mehr Kerne als mehr Geschwindigkeit bekommen und C im Bereich der nebenläufigen Programmierung eher eingeschränkte Möglichkeiten bietet, ist das etwas kurz gedacht.
 
Mitglied seit
23.03.2002
Beiträge
1.165
Reaktionen
0
Ort
Osnabrück
Wenn Du eh im Webbereich arbeitest (professionell), dann solltest du eine so daemliche Frage hier nicht stellen und haettest sicherlich schon mehr Kentnisse als "HTML"...

Ganz gut machen sich fuer den Bereich auch Basics wie Webserver konfigurieren, Encodings richtig einstellen etc. Das ist alles ungemein wichtig wenn man einem Kunden nicht gerade ein Multilinguales System bereitstellen will und die Daten dann z.B. als UTF-8 in Latin-1-Codierung in der DB landen und bei einem Umstieg auf ein anders konfiguriertes System auf einmal alle Sonderzeichen kaputt gehen. Bei PHP kann man z.B. noch viel ueber die php.ini regeln bzw. muss bei Virtual Hosts wieder Anpassungen vornehmen.. Wenn dir da Wissen fehlst, wirst du nicht glücklich..

Lern halt irgendwas, was in deiner Firma auch programmiert wird, damit du Support von Kollegen bekommen kannst. PHP, ASP, Perl.. whatever. Die Basics der Programmiersprachen sind alle sehr ähnlich, verstehst du das Konzept, ist das einlernen in eine andere Sprache relativ einfach.
Da sind dann später MVC Frameworks ein interessantes Gebiet wenn man schnell Sachen entwickeln will. Gibt z.B. CakePHP was wie vermuten laesst, auf PHP beruht. Ansonsten is RoR vielleicht noch ganz interessant.

Edit: Apropos CSS: Wenn man BITV konforme Websites programmieren will/muss kommt man da eh nicht herum.. Wieder eins der eher peripheren Themen, die imho dennoch wichtig sind. Wenn du sowas nicht weisst, beherrschst du dein Handwerk nicht (richtig).
 
Zuletzt bearbeitet:
Mitglied seit
01.08.2000
Beiträge
1.782
Reaktionen
0
Ort
Hamburg
In Anbetracht der Tatsache, dass heutige Prozessoren eher mehr Kerne als mehr Geschwindigkeit bekommen und C im Bereich der nebenläufigen Programmierung eher eingeschränkte Möglichkeiten bietet, ist das etwas kurz gedacht.

Nebenläufige Programmierung? Du meinst mehrere Threads oder Prozesse?

Zum Thema: PHP kann man sich wohl ziemlich gut selber beibringen, Python evtl. auch. Wenn dus gebrauchen können wirst dann wohl Java.
 

Shihatsu

Administrator
Mitglied seit
26.09.2001
Beiträge
46.403
Reaktionen
8.853
man kann sehr gut in c mit den entsprechenden compilern parallele threadabarbeitung realisieren - woher kommt bitte die info das das eingeschränkt wäre? willst du sagen es ist weniger komfortabel als zb in java oder c#? natürlich ist es das, gilt aber auch für den rest der sprache...
btw machen das leute die wirklich rechenintensive geschichten in c schreiben schon seit jahrzehnten - da wo power gebraucht wird ist multithreading und 64+ cors pro rechner nämlich nen echt alter hut...
 
Mitglied seit
02.09.2002
Beiträge
3.247
Reaktionen
82
willst du sagen es ist weniger komfortabel als zb in java oder c#? natürlich ist es das, gilt aber auch für den rest der sprache...
Dass C nicht für seine Kompfortfunktionen bekannt ist, solle wohl klar sein ;)
Ich meine, dass der Aufwand der in C dafür betrieben muss um Nebenläufigkeit an größerem Umfang zu realisieren derart hoch ist, dass C dafür so geeignet ist wie Assembler für größere Anwendungen.
Vergleich C z.B mal mit Go[1] oder Clojure[2].

[1] http://golang.org/doc/go_lang_faq.html#concurrency
[2] http://blip.tv/file/812787
 
Mitglied seit
20.03.2002
Beiträge
576
Reaktionen
0
Es ist doch quatsch, C mit einer Sprache wie Go zu vergleichen, die gerade erst in der Entwicklung ist.

Fuer C gibt es Pthreads, fork, MPI, OpenMP, ... Parallel computing ist also kein Problem.
 
Mitglied seit
03.08.2002
Beiträge
3.193
Reaktionen
0
Dass C nicht für seine Kompfortfunktionen bekannt ist, solle wohl klar sein ;)
Ich meine, dass der Aufwand der in C dafür betrieben muss um Nebenläufigkeit an größerem Umfang zu realisieren derart hoch ist, dass C dafür so geeignet ist wie Assembler für größere Anwendungen.
Vergleich C z.B mal mit Go[1] oder Clojure[2].

[1] http://golang.org/doc/go_lang_faq.html#concurrency
[2] http://blip.tv/file/812787

clojure ist also komfortabel?
an deiner stelle würde ich meine abendkurse in zukunft in richtung Basiswissen gestalten bevor du Go / Clojure etc mit C vergleichst.
 
Mitglied seit
02.09.2002
Beiträge
3.247
Reaktionen
82
Es ist doch quatsch, C mit einer Sprache wie Go zu vergleichen, die gerade erst in der Entwicklung ist.
Ja, Go ist noch in der Entwicklung.
Warum bitte soll der Vergleich deshalb quatsch sein?
Warum glaubst du werden Sprachen wie Erlang, Clojure oder eben Go entwickelt. Weil das alles mit C schon so toll geht?

clojure ist also komfortabel?
an deiner stelle würde ich meine abendkurse in zukunft in richtung Basiswissen gestalten bevor du Go / Clojure etc mit C vergleichst.
Wird mir in den Basiswissenskursen dann erklärt was eine richtig kompfortable Sprache ist?

Na mir solls egal sein. Jedem das seine und so.
 
Zuletzt bearbeitet:
Mitglied seit
20.03.2002
Beiträge
576
Reaktionen
0
Ja, Go ist noch in der Entwicklung.
Warum bitte soll der Vergleich deshalb quatsch sein?
Warum glaubst du werden Sprachen wie Erlang, Clojure oder eben Go entwickelt. Weil das alles mit C schon so toll geht?


Naja, weil es in dem Thread anfangs darum ging, welche Sprache man lernen soll. Und bspw. Go jetzt als erste Programmiersprache zu lernen macht meiner Meinung nach nicht viel Sinn. Ich denke jedenfalls nicht, dass Go stand jetzt mit C mithalten kann.
 
Mitglied seit
02.09.2002
Beiträge
3.247
Reaktionen
82
Naja, weil es in dem Thread anfangs darum ging, welche Sprache man lernen soll. Und bspw. Go jetzt als erste Programmiersprache zu lernen macht meiner Meinung nach nicht viel Sinn. Ich denke jedenfalls nicht, dass Go stand jetzt mit C mithalten kann.
Achso, dann haben wir da ein wenig aneinander vorbei geredet.
Du hast natürlich recht, dass Go auktuell weder komplett noch ausgereift ist, allerdings scheint mir die Sprache und die dahinterliegenden Konzepte gut durchdacht zu sein. Daher denke ich wenn eine Sprache das Potenzial hat C jemals zu ersetzen, dann dürfte das Go sein.
 
Mitglied seit
01.08.2000
Beiträge
1.782
Reaktionen
0
Ort
Hamburg
Komfort impliziert bisher doch eigentlich immer Einbußen bei den Laufzeiten.
Ohne Go zu kennen, bezweifel ich deine Ansichten schon sehr.
 
Mitglied seit
03.08.2002
Beiträge
3.193
Reaktionen
0
Ja, Go ist noch in der Entwicklung.
Warum bitte soll der Vergleich deshalb quatsch sein?
Warum glaubst du werden Sprachen wie Erlang, Clojure oder eben Go entwickelt. Weil das alles mit C schon so toll geht?


Wird mir in den Basiswissenskursen dann erklärt was eine richtig kompfortable Sprache ist?

Na mir solls egal sein. Jedem das seine und so.

Es geht definitiv so ziemlich alles mit C/C++.
Clojure (insb. bei KI geschichten), Go und was weiß ich werden einfach nur deswegen entwickelt um einem user problemspezifische dinge zu erleichtern und mehr möglichkeiten zu bieten.

Wenn mich nicht alles täuscht ist Clojure ein LISP Dialekt auf der JVM und wer LISP schonmal angefasst hat, weiß was ich meine. Eignet sich wegen mir ganz gut für KI-Geschichten aber sonst auch für nichts in meinen Augen. schrecklich unübersichtlich das ganze, wenn auch in gewissem Rahmen mächtig.

Allerdings gilt auch hier: Geht alles auch in C / C++.

GO wird von Googlemitarbeitern programmiert, warum auch immer. Was die bezwecken ist mir nicht klar... evtl. eine Art plattformabhängiges (und dadurch indirekt effizienteres) Java.

Dennoch: Hier zu behaupten es ergäbe nur Ansatzweise Sinn eine solche Sprache ohne spezifische Problemstellung bzw. Themenbezug zu erlernen ist für mich nicht nachvollziehbar. Wie gesagt: Wenn es in deiner KI Vorlesung grad Hipp ist heißt es noch lange nicht, dass es Sinn ergibt.

PS: Die am MIT Wissen schon warum sie Anfängern python vorsetzen und nicht mehr LISP.

€: Ich seh grad: C ersetzen :D :D :D :D witzig...
 
Mitglied seit
12.08.2002
Beiträge
12.549
Reaktionen
0
na dann schauen wir doch mal auf ne random it job börse wie das so mit dem arbeitsmarkt aussieht, immerhin gehts um sowas ja hier eigentlich:

usa
python - 43 offene stellen
c++ - 374
c# - 959
java - 1333
oracle dba / pl/sql usw - 776

ger
python - 79
c++ - 813
c# - 608
java - 1523
oracle - 943
php - 619
mysql - 467

der TE sollte sich wenn schon an sowas orientieren, und eben an dem was in seiner branche gebraucht wird. und in dem umfeld ist c++ absolut überdimensioniert. entweder er konzentriert sich auf webentwicklung, richtung php, evtl noch flash / actionscript oder sowas (eher riskant wegen html5) oder aber richtung irgendwas das kleine firmen benötigen, möglichst effizient ist und plattformunabhängig, sprich java und evtl noch paar oracle grundkenntnisse; oder postgresql / mysql.

und gerade für java und php gibt es grundsolide völlig freie und einsteigerfreundliche software + bücher zum entwickeln / rumspielen.

c++ bleibt sicherlich wichtig wenn es um betriebssystem-nahe software bzw. betriebssysteme an sich geht. aber sowohl im hochleistungssektor als auch anwendungen für die allermeisten unternehmen, den mittelstand, ist es entweder zu schwach mittlerweile oder zu überdimensioniert. je weiter die technik fortschreitet desto wichtiger wird datenhaltung/-verwaltung, und da liegt java ziemlich klar vorn verglichen mit c++. man muß dabei vor allem auch die künftig vermutlich sehr enge verzahnung von java und oracle sowie mysql datenbanken berücksichtigen, da wird mit sicherheit absolutes performancetuning betrieben von oracle in zukunft (oracle stellt grad 1000 programmierer ein dafür, während andere entlassen bzw wie das c++ komitee immer wieder neue releases verschieben); etwas das eine sprache wie c++ aufgrund seines hintergrunds nie schaffen kann.
 
Mitglied seit
01.08.2000
Beiträge
1.782
Reaktionen
0
Ort
Hamburg
Hier hat ihm ja auch kaum einer C oder C++ vorgeschlagen, aber aussterben werden die beiden Sprachen so schnell nicht.
 
Mitglied seit
03.08.2002
Beiträge
3.193
Reaktionen
0
na dann schauen wir doch mal auf ne random it job börse wie das so mit dem arbeitsmarkt aussieht, immerhin gehts um sowas ja hier eigentlich:

usa
python - 43 offene stellen
c++ - 374
c# - 959
java - 1333
oracle dba / pl/sql usw - 776

ger
python - 79
c++ - 813
c# - 608
java - 1523
oracle - 943
php - 619
mysql - 467

der TE sollte sich wenn schon an sowas orientieren, und eben an dem was in seiner branche gebraucht wird. und in dem umfeld ist c++ absolut überdimensioniert. entweder er konzentriert sich auf webentwicklung, richtung php, evtl noch flash / actionscript oder sowas (eher riskant wegen html5) oder aber richtung irgendwas das kleine firmen benötigen, möglichst effizient ist und plattformunabhängig, sprich java und evtl noch paar oracle grundkenntnisse; oder postgresql / mysql.

und gerade für java und php gibt es grundsolide völlig freie und einsteigerfreundliche software + bücher zum entwickeln / rumspielen.

c++ bleibt sicherlich wichtig wenn es um betriebssystem-nahe software bzw. betriebssysteme an sich geht. aber sowohl im hochleistungssektor als auch anwendungen für die allermeisten unternehmen, den mittelstand, ist es entweder zu schwach mittlerweile oder zu überdimensioniert. je weiter die technik fortschreitet desto wichtiger wird datenhaltung/-verwaltung, und da liegt java ziemlich klar vorn verglichen mit c++. man muß dabei vor allem auch die künftig vermutlich sehr enge verzahnung von java und oracle sowie mysql datenbanken berücksichtigen, da wird mit sicherheit absolutes performancetuning betrieben von oracle in zukunft (oracle stellt grad 1000 programmierer ein dafür, während andere entlassen bzw wie das c++ komitee immer wieder neue releases verschieben); etwas das eine sprache wie c++ aufgrund seines hintergrunds nie schaffen kann.

Die Firmen sind nunmal heutzutage nicht mehr so qualitätsbewusst. Allein was ich bei meiner ehemaligen Firma erlebt habe, wer da sich alles "Java" Entwickler geschimpft hat ist fantastisch. Jeder PHP-Skripter hält sich für eine Coding Gottheit und genau hier liegt das Problem. Allein dass du PHP und Java in einem Satz ohne gültigen Kontext (ala Web php vs jee ... selbst das ist nicht vergleichbar) schreit nur so vor inkompetenz.

Der TE will sich ne Woche austoben (CSS, JS, HTML) und nicht einen Job annehmen, wobei deine Statistik dermaßen hinkt. Jeder 2t-klassige Bachelor wird auf eine Java Stelle genommen. Die C++ Stellen, welche du oft in der Forschung/Entwicklung im Zusammenhang mit irgendeinem anderen Thema findest sind weitaus besser bezahlt.

Es geht hier auch um den eigenen Anspruch. Will man Programmieren können oder Java coden? Will man verstehen was man tut oder einfach nur kurz was zusammen schreiben und sich dann als der OOP Gott fühlen und denken OOP bedeutet, dass man auf einen Button zugreifen kann.

Wobei ein fantastischer Java Coder (dazu zähl nichtmal ich mich und ich mach das seit > 8 Jahren) durchaus was aufm Kasten hat. Es gibt nur leider kaum welche, nur viele die sich dafür halten. Java verleitet dazu sich zu schnell zu geil zu fühlen, obwohl man eigentlich kein Plan hat (siehe obige posts).

€: Und meine Herren hör mir dem Verzahnungsquatsch auf bei Datenbanken. Was Oracle mit ihrem Developer scheiss für Java da abliefert ist peinlich und hat vorallem nichts! mit der eigentlichen DB zu tun. Die werden nen Teufel tun und sich ausm .net selbst herauskicken. MySQL ist eh keine Datenbank, das ist ne Vergewaltigung.

€: Finde den Fehler: "Effizient und plattformunabhängig".
 
Zuletzt bearbeitet:
Mitglied seit
12.08.2002
Beiträge
12.549
Reaktionen
0
oh wie schrecklich, ein krass ungültiger kontext wenn dem TE verschiedene dinge/alternativen vorgeschlagen werden die für sich genommen miteinander nicht allzuviel zu tun haben! am besten wäre doch wir schlagen ihm gar nichts vor und er folgt haargenau deinem weg ~. du hast doch deinen studierten arsch offen.
 
Mitglied seit
01.01.1970
Beiträge
1.170
Reaktionen
0
machst du seit > 8 jahren wirtschaftlich was mit java, oder hast vor 8 jahren angefangen das zu lernen o_O

und was muss man denn deiner meinung nach drauf haben, um "gut" in einer programmiersprache zu sein?
 
Mitglied seit
03.08.2002
Beiträge
3.193
Reaktionen
0
Ich kann doch nichts dafür, dass du zu blöd bist und hier scheisse postest.
C++ ist zu schwach? Blos weil du in deinem Hibernate JPA EJB blah Umfeld nichts anderest kennst, heisst das noch lange nicht das es das nicht gibt.

und warum die Leute soviele Java-Programmierer suchen liegt auf der Hand:
Es können einfach viel mehr, weil viele keine Zeit haben oder einfach zu doof sind C++ o.Ä. zu erlernen und Java einfach out of the box mehr Freiheiten bietet, so dass man schneller zu guten aber nicht optimalen Ergebnissen kommen kann. Ich mag Java auch, aber ich finde selbst um richtig Java Programmieren zu können sollte man C++ verstehen. Allein das Verständnis für Polymorphismus (bzw. andere Konzepte der OOP) und Speicherverwaltung sind einfach grundlegend.

Das erzählt dir ein 17jähriger Hacker genau wie ich als studierter Arsch der eigentlich gar nicht mehr viel programmiert, bzw. wenn dann nur als Mittel zum Zweck.

Achja: Hab 2 Jahre nen Softwareprojekt bei nem großen Automobilzulieferer geleitet und im Zuge dessen ne Seam eingeführt. Das war alles in Java mein lieber.
 
Mitglied seit
01.01.1970
Beiträge
1.170
Reaktionen
0
man sucht java programmierer, weil es soviele davon gibt? o_O
die projekte geben die plattform vor.
für ein php-webseitenprojekt sucht man php-programmierer, für j2e unternehmenssoftware java-programmierer und für sap applikationen werden abap-programmierer gesucht.
oder meinste irgendein consulter wird vorschlagen die plattform zu wechseln, nur weils da mehr programmierer gibt?

die leute suchen soviele java-programmierer, weil die projekte ideal in java realisiert werden können.
unter anderem auch wegen der vielen (professional) opensource frameworks.
 
Zuletzt bearbeitet:
Mitglied seit
03.08.2002
Beiträge
3.193
Reaktionen
0
machst du seit > 8 jahren wirtschaftlich was mit java, oder hast vor 8 jahren angefangen das zu lernen o_O

und was muss man denn deiner meinung nach drauf haben, um "gut" in einer programmiersprache zu sein?

habe vor 8 Jahren angefangen es richtig zu lernen. Danach paar Jahre neben dem Studium gearbeitet und jetzt selbstständig als Webentwickler nebenher (SmartGwt/Gwtext und Serverseitige Geschichten).

Was einen guten Javaprogrammieren ausmacht?
Effizienz, Design (Volles Verständnis für Abstraktion, man kann so tolle Sachen machen) und das wichtigste: Verständnis was da eigentlich passiert. (Speicher, Compilierung, etc)
 

Shihatsu

Administrator
Mitglied seit
26.09.2001
Beiträge
46.403
Reaktionen
8.853
Naja, wenn ich sehe was hier manchmal in Sachen Abstraktion alles vergewohltätigt wird (überladen bis zum geht nicht mehr, factoring nur weil mans kann, reflections die kein schwanz nachvollziehen kann....), kannich nur sagen: zviel abstraktion = nein danke. bezieht sich alelrdings nur auf den code meiner vorgänger - mein eigener ist da etwas, ich sag mal so, einfacher. bin ich deshalb in deinen augen der schlechtere programmierer?

was ich sagen will: man kann das nicht imho nicht an solch einzelnen punkten nicht festmachen. der gute javaprogrammierer ist in meinen augen der, der die anforderungen an das programm perfekt umsetzt, dabei auf robustheit achtet und in endlicher naher zeit fertig wird. wie er an dieses ziel kommt, ist mir dabei fast egal.
 
Mitglied seit
01.01.1970
Beiträge
1.170
Reaktionen
0
genau lol.
zur meiner studienzeit gabs auch etliche spezialisten in der gruppenarbeit, die den funktionierenden code genommen haben und in 20 stunden eine abstraktion drumherum gebaut haben. das programm hat immer noch dasselbe gemacht, es war nur in viele kleine gekapselte pakete zerstückelt.
totale freaks, da hab ich irgendwann gesagt, ja macht ihr mal, ich geh saufen.

in anderen kursen waren dann so spezialisten dabei, die den funktionierenden code genommen haben, abstrahierten und danach ging gar nichts mehr und man musste den copypaste fehler suchen, indem man quasi seinen eigenen code neu schreibt.

wirtschaftlich gesehen ist das totaler bullshit.
wenn man in irgendeiner itabteilung einer firma landet, wo die kollegen wenig von oop verstehen und lieber mit excelmakros arbeiten, dann brauchste denen nicht ankommen mit x gekapselten packages.
die übernehmen das programm dann eher, wenn man noch den ablauf nachvollziehen kann, und das möglichst an einem strang.
 
Mitglied seit
03.08.2002
Beiträge
3.193
Reaktionen
0
wirtschaftlich gesehen macht es aber bei größeren projekten durchaus sinn. Erweiterbarkeit, einfachheit, funktionalität etc..


Aber wie Shi sagte, es sind verschiedene Aspekte. Wer allerdings mit Abstraktion nicht umgehen kann (!=nicht möchte) bzw. von OOP nichts versteht ist für mich kein guter Programmierer. Über Reflection & Co lässt sich sowieso streiten. hatte neulich ein Projekt: Dirty Version war sau schnell, die Version nach "Lehre" war langsam aber wunderschön in der Architektur. Einen guten Programmierer macht also auch aus differenzieren zu können und das geht nun mal nur wenn man versteht was man da tut. Ein 0815 Java Programmierer versteht genau das nicht, weil er die Grundlegenden Konzepte nicht beherrscht. Das wollte ich sagen.
 
Mitglied seit
21.02.2003
Beiträge
22.825
Reaktionen
254
Eh, wer von euch noch keine Bank-Datenbanksystem mit Scheme geschrieben hat, kann sich gleich einsargen lassen!
 

The_Company

Guest
Hi, mein Code steckt in Firefox, Safari, Chrome und Opera.
Ich will den Java Programmierer sehen, der das schafft. Und nun get off my lawn.
 
Oben