kostenloser Webspace werbefrei: lima-city


Lohnt es sich, java zu lernen?

lima-city: kostenloser WebspaceForumProgrammiersprachenJava

  1. ggamee

    Kostenloser Webspace von ggamee

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Drachentöter

    14843 Gulden

    17 positive Bewertungen
    0

    ggamee hat kostenlosen Webspace.

    bladehunter, irgendwann werde ich vor deiner Haustür stehen und beten!

    So, also zu mir, ich kann PHP, C++ und PHP.
    Ich persönlich würde sagen, dass Java schon ok ist für den Anfang, aber sowas wie PHP ist schöner, denn in PHP ist relativ einfach, und hat dabei alles, was möglich ist: Objektorientiertes entwickeln, aber auch klassisch funktionsorientiertes Entwickeln. Wenn du PHP kannst werden dir Dinge wie C++, Java und Phyton relativ einfach erscheinen. Hier gibt es zwar dann Typisierungen, aber an die gewöhnt man sich schnell.
    Ich habe zuerst PHP gelernt, dann C++ (und arbeite jetzt als Software Entwickler mit C++ neben dem Studium), und habe mir Java als letztes angeschaut.

    So, noch ein bisschen was aufgeräumt: Java hat zwar eine automatische Speicherallokation, das haben aber in der tat viele Sprachen. Die "bessere Fehleranalyse" ist ebenfalls absolut falsch! Ich habe mit Java, wo ich angefangen habe, so viele LAUFZEITFEHLER erzeugt, dass ich fast verzweifelt bin, und nur mit PHP-Debugger-Art die Fehler gefunden habe (Ein weiterer Punkt für PHP, das Debuggen lernt man hier sehr gut und intuitiv, in meinen Augen). In C++ kann man auch sehr einfach Laufzeitfehler erzeugen, in Java aber genau so einfach.

    Also: Mein Tipp ist PHP. Java ist auch Ok, aber naja.

    Liebe Grüße
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. pixilab

    Kostenloser Webspace von pixilab

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Haudegen

    4908 Gulden

    2 positive Bewertungen
    0

    pixilab hat kostenlosen Webspace.

    pixilab besitzt 3 günstige Domains.

    Ich werde das Gefühl nicht los, dass Java nicht so beliebt zu sein scheint. Einer unserer Profs meinte mal spaßeshalber, Java wäre tot^^. Der scheint wohl Java nicht zu mögen :-). Arbeitskollegen meinen, Java ist Müll, dabei programmieren sie Weboberflächen. Das ist doch wie, wenn ich behaupte php ist Müll, weil ich eine Android-App schreiben will^^.

    Was setzen denn die Arbeitgeber, abgesehen von Deutsch, Englisch, XML, Java, C und C++, für Sprachen voraus, wenn ich fragen darf? Bladehunter hat einige aufgezählt, von denen ich während meines Studiums noch nie was gehört habe. Wird das oft verlangt?

    Edit: Die hatte er aufgezählt Clojure, Kotlin, Scala



    Beitrag zuletzt geändert: 1.2.2012 20:48:32 von pixilab
  4. bladehunter

    Kostenloser Webspace von bladehunter

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Prinz

    33144 Gulden

    5 positive Bewertungen
    0

    bladehunter hat kostenlosen Webspace.

    ggamee schrieb:
    bladehunter, irgendwann werde ich vor deiner Haustür stehen und beten!

    Ich kann dir nicht ganz folgen. Ist das jetzt gut oder schlecht?

    ggamee schrieb:
    So, also zu mir, ich kann PHP, C++ und PHP.

    Jetzt sehe ich schon doppelte Programmiersprachen

    pixilab schrieb:
    Ich werde das Gefühl nicht los, dass Java nicht so beliebt zu sein scheint. Einer unserer Profs meinte mal spaßeshalber, Java wäre tot^^. Der scheint wohl Java nicht zu mögen :-).

    Java hat als Sprache durchaus gute Seiten. Diese guten Seiten liegen aber zugunsten der Entwicklung großer komplexer Anwendungen. Nicht gerade das, was für einen Programmieranfänger wichtig ist.
    Andererseits ist es einfach so, dass es mittlerweile immer mehr neue Sprachen gibt, die auch in den Fokus rücken. Und viele dieser Sprachen machen Dinge erheblich leichter im Vergleich zu Java. Und entsprechend greifen viele Leute daher auch zu den neueren Sprachen, weil sie die damit verbundenen Vorzüge zu schätzen wissen.
    Das Java tot ist, ist aber übertrieben. Die Sprache wird uns noch sehr lange begleiten und es lohnt sich auch sie zu lernen. Nur eben nicht als allererstes :wink:

    Arbeitskollegen meinen, Java ist Müll, dabei programmieren sie Weboberflächen. Das ist doch wie, wenn ich behaupte php ist Müll, weil ich eine Android-App schreiben will^^.

    Nunja, sie können ja trotzdem eine berechtigte Meinung zu dem Thema haben? Du weißt ja nicht, was sie in ihrer Freizeit programmieren^^

    Was setzen denn die Arbeitgeber, abgesehen von Deutsch, Englisch, XML, Java, C und C++, für Sprachen voraus, wenn ich fragen darf?

    Das kommt vollkommen auf den Arbeitgeber an. Einige Chefs sind so auf die Java-Schiene eingeschossen, das sie ihre Programmierer mit nichts anderem arbeiten lassen. Anderswo dominieren Microsoft-Technologien, so dass .NET-Kenntnisse gefragt sind. Und an anderen Orten nutzt man ganz was anderes oder probiert sogar gelegentlich was neues aus.

    Bladehunter hat einige aufgezählt, von denen ich während meines Studiums noch nie was gehört habe. Wird das oft verlangt?

    Edit: Die hatte er aufgezählt Clojure, Kotlin, Scala

    Nö. Das sind eher exotische Sprachen, die auch auf der JVM laufen. Ich selber kann zum heutigen Zeitpunkt aber nur Clojure wirklich. Scala habe ich mir schon mal genauer angeschaut, aber noch nicht viel damit gemacht. Und zu Kotlin kann ich eigentlich garnichts sagen. Die Chancen, dass Clojure und Scala in den nächsten Jahren deutlich bekannter werden, stehen allerdings gut. Beide Sprachen würde ich allerdings nicht als erste Programmiersprache empfehlen.
  5. flashmob-riedlingen

    Benutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Bettler

    161 Gulden

    0 positive Bewertungen
    0

    flashmob-riedlingen hat kostenlosen Webspace.

    Also erst mal ein kleines Sorry an bladehunter, ich war gestern etwas aufgebracht als ich ein paar Dinge von dir gelesen hab - da hab ich vielleicht einen etwas zu harten Ton getroffen.

    Und Java ist leider eine Sprache, wo man viel Boilerplate-Code schreiben muss. Alles muss in Klassen verpackt werden und elegante Prinzipien wie funktionale Programmierung sind Java 6 nicht Teil der Sprache.

    Das sind unter anderem Punkte, warum ich persönlich Java nicht für die beste Einstiegssprache halte. Man sollte sich am Anfang auf die wesentlichen Punkte konzentieren, da ist eine funktionale Sprache (wie C) besser geeignet.

    Und wenn man sich dann noch an die Bean-Konventionen halten will, darf man für jedes Member auch noch getter- und setter schreiben. Klar, das kann auch die IDE erledigen, aber schön ist es trotzdem nicht.

    Naja, ob das nur Bean-Konventionen sind... Auch beim OO C ist es ein besserer Stil Getter und Setter zu schreiben. Sieht auch nicht jeder gleich, aber ob man sich an Konventionen hält oder nicht, muss man immer selbst entscheiden.

    Durch dieses Versprechen können andere Programmierer die Methoden nutzen, ohne sich Sorgen zu machen, das die Schnittstelle irgendwann einmal nicht mehr kompatibel ist.

    Das ist falsch formuliert: public sagt nicht aus, dass sich die Schnittstelle nicht ändert - natürlich wäre es nicht gut, die Signatur von public-Methoden zu ändern, denn wer weiß, wo die überall verwendet werden. Aber wenn du in anderen Programmiersprachen eine Methode oder Funktion nach aussen anbietest, wäre das genau so wenig toll.
    Aber bei den Sichtbarkeitsmodifikatoren geht es um etwas anderes. Ist die Methode da, um von willkürlichen Stellen aufgerufen zu werden? Dann sollte sie public sein. Beinhaltet die Methode Code, der von vererbten Klassen verwendet werden kann/soll/darf? dann protected. Macht ein Aufruf der Methode nur innerhalb der Klasse Sinn - private.
    Selbst wenn du ein kleines Projekt hast, welches nur aus wenigen Klassen besteht und an dem auch nur du arbeitest, ist es sinnig zu wissen, welche Methoden du von wo aus aufrufen darfst. Abgesehen davon, dass man nicht immer direkt weiß, was diese Methode tut (sowas vergisst man auch schnell mal), man bemerkt schnell, wenn Funktionalität an Stellen angeboten wird, wo sie eigentlich nicht hingehört.
    Aber wem das zu viel "Overkill" ist, der kann ja auch alles public setzen (ich will diesen Code aber nicht sehn ;))

    Geht dein eigener Sprachhorizont denn wesentlich über diese Sprachen hinaus, so dass du für diese Empfehlung eine größere Anzahl an Sprachen in Betrachtung ziehen kannst?

    Großartig Erfahrung hab ich im wesentlichen in Java und C++, mit diversen anderen Sprachen hatte ich nur zeitweise zu tun, bzw. bin mal etwas in berührung mit gekommen. Mit den von dir aufgezählten Sprachen hatte ich ehrlich gesagt bislang nichts zu tun.
    Warum ich aber trotzdem nur auf diese Sprachen eingehe (evtl. als dritte C#) hat zwei Gründe:
    1.) Du hast viel(!) mehr Möglichkeiten dich zu informieren - Abgesehen von zahlreichen guten Tutorials im Internet geht es hier noch um persönliche Hilfestellungen, sei es durch Bekannte oder durch Fragen in Foren. Ehrlichgesagt kenne ich niemanden, von dem ich wüsste, dass er schonmal mit Scala in Berührung kam
    2.) Wenn man sich mal Stellenausschreibung anschaut, Java, C++, C# deckt da alles ab. Natürlich lernt man andere Sprachen anschließend auch recht schnell, aber warum erst eine andere als "Muttersprache" wählen, um dann die weiter verbreiteten zu lernen?

    Och, in C musst du nur deinem Speicher auf dem Heap nachrennen. Wenn du wirklich auf den Boden der Tatsachen kommen willst, darfst du mit Assembler zusätzlich noch den Stack verwalten :biggrin:

    Nun gut, bleiben wir bei den Hochsprachen :lol:

    ggamee schrieb:
    Ich persönlich würde sagen, dass Java schon ok ist für den Anfang, aber sowas wie PHP ist schöner, denn in PHP ist relativ einfach, und hat dabei alles, was möglich ist: Objektorientiertes entwickeln, aber auch klassisch funktionsorientiertes Entwickeln.

    PHP wäre natürlich auch eine Alternative. Da hat man wirklich überhaupt keinen Overkill, man öffnet seinen Editor und programmiert seine Schleifen und Bedingungen, findet heraus was ein Array ist... Und schlägt sich nicht großartig mit Linkern und Compilern rum. Allerdings würd ich für den Einstieg zum Thema Objektorientierung dann auf eine andere Sprache umsteigen.

    pixilab schrieb:
    Arbeitskollegen meinen, Java ist Müll, dabei programmieren sie Weboberflächen

    Man muss auch dazu sagen, dass es zu Java weitverbreitete Vorurteile existieren die nicht (oder zumindest nicht mehr) der Wahrheit entsprechen.

    Was setzen denn die Arbeitgeber, abgesehen von Deutsch, Englisch, XML, Java, C und C++, für Sprachen voraus, wenn ich fragen darf? Bladehunter hat einige aufgezählt, von denen ich während meines Studiums noch nie was gehört habe. Wird das oft verlangt?

    Das kann man so nicht direkt beantworten. Natürlich kommt es immer drauf an, in welchem Bereich du arbeiten möchtest. In der Hardwarenahen Programmierung bist du ohne C so gut wie aufgeschmissen, als Webentwickler brauchst du dich ohne PHP-Kenntnisse nicht zu bewerben.
    Grundsätzlich würde ich sagen, dass Java, C/C++ und evtl. C# und HP zu den Grundausstattungen eines Informatikers gehören sollten. Man muss nicht in allen Sprachen ein Profi sein, aber man sollte zumindest die elementaren Kenntnisse darüber haben. Weitere Sprachen werden sehr selten wirklich vorrausgesetzt, aber Vorteile bringen sie dir alle.
  6. ggamee

    Kostenloser Webspace von ggamee

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Drachentöter

    14843 Gulden

    17 positive Bewertungen
    0

    ggamee hat kostenlosen Webspace.

    bladehunter schrieb:
    ggamee schrieb:
    bladehunter, irgendwann werde ich vor deiner Haustür stehen und beten!

    Ich kann dir nicht ganz folgen. Ist das jetzt gut oder schlecht?

    ggamee schrieb:
    So, also zu mir, ich kann PHP, C++ und PHP.

    Jetzt sehe ich schon doppelte Programmiersprachen


    Ich bete dich an, weil du so verdammt viel weißt und kannst :-P das war als Kompliment gemeint ;-)

    Und ich meinte ich kann Java, C++ und PHP. Wenn man genau sieht auch Javascript, aber naja, das gehört irgendwie halb mit PHP zusammen wie ich finde :-D

    Und darum auch nochmal nen Post: Wenn du PHP machst, lernst du zwangsläufig auch ein bisschen was übers Frontend, das heißt auch HTML und CSS, und vermutlich auch Javascript. Mit Javascript kann man sehr schön nachvollziehen, wie moderne Programme, bzw GUIs eigentlich funktionieren. Kurz: Sie sind Eventbasierend, aber das siehst du selbst in Javascript sehr schön. Darum würde ich dir auch PHP UND Javascript empfehlen. Erstens spielen sie super zusammen, zweitens lernt man so über recht einfache Sprachen ein grundlegendes Verständnis aufzubauen. Zwar, muss ich gestehen, ist Javascript was sehr besonderes, weil Klassen zum Beispiel echt umständlich definiert werden (und wer jetzt kommt mit in JS gibt es keine Klassen der kriegt Schläge :-D ich verweise mal auf meinen Blog: http://sateffen.bplaced.net/programmierung/klassen-in-javascript.html , und ja, der Artikel gehört zu denen, die ich noch überarbeiten muss, weil Einrückungen fehlen) aber ich finde das Grundverständnis sehr wichtig, welches man durch dieses Sprachenpaar erlangt.

    Mein Tipp immernoch: Lern als erstes PHP, dann Javascript im zusammenhang mit dem Frontend.

    Liebe Grüße
  7. mlrecords

    Kostenloser Webspace von mlrecords

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Drachentöter

    12741 Gulden

    0 positive Bewertungen
    0

    mlrecords hat kostenlosen Webspace.

    ggamee schrieb:
    So, noch ein bisschen was aufgeräumt: Java hat zwar eine automatische Speicherallokation, das haben aber in der tat viele Sprachen. Die "bessere Fehleranalyse" ist ebenfalls absolut falsch! Ich habe mit Java, wo ich angefangen habe, so viele LAUFZEITFEHLER erzeugt, dass ich fast verzweifelt bin, und nur mit PHP-Debugger-Art die Fehler gefunden habe (Ein weiterer Punkt für PHP, das Debuggen lernt man hier sehr gut und intuitiv, in meinen Augen). In C++ kann man auch sehr einfach Laufzeitfehler erzeugen, in Java aber genau so einfach.

    Also: Mein Tipp ist PHP. Java ist auch Ok, aber naja.

    Liebe Grüße


    PHP und Debugging ist in meinen Augen ziemlicher Müll. Zumindest dann, wenn man es professionell machen möchte. Es gibt zwar Programme, wie XDebug. Bis man den aber zum Laufen bekommt und auch richtig anwenden kann geht viel Wasser die Weser runter. Die richtig richtig guten Debugger, die bspw. an den Java Debugger in Eclipse heran reichen, bekommt man nur mit kostenpflichtigen Programmen, wie bspw. Zend Studio.

    Trotzdem würde ich PHP als Einstiegssprache bezeichnen, da man relativ schnell und einfach mit einer relativ guten Dokumentation zu ersten vorzeigbaren Ergebnissen kommt. Viele Anfänger werden dadurch demotiviert, dass ihre Programme nicht so schnell so aussehen, wie die der Profis.

    bladehunter schrieb:

    Die Chancen, dass Clojure und Scala in den nächsten Jahren deutlich bekannter werden, stehen allerdings gut.


    Was macht dich gerade bei Clojure (Scala hab ich mir nicht angeschaut) so sicher, dass es in den nächsten Jahren deutlich bekannter wird? Scheme und LISP sind ja auch eher Nischenprodukte und nicht wirklich weit verbreitet.

    Beitrag zuletzt geändert: 2.2.2012 10:44:50 von mlrecords
  8. bladehunter

    Kostenloser Webspace von bladehunter

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Prinz

    33144 Gulden

    5 positive Bewertungen
    0

    bladehunter hat kostenlosen Webspace.

    flashmob-riedlingen schrieb:
    Also erst mal ein kleines Sorry an bladehunter, ich war gestern etwas aufgebracht als ich ein paar Dinge von dir gelesen hab - da hab ich vielleicht einen etwas zu harten Ton getroffen.

    Nun, ich habe ja auch ziemlich ins Klo gegriffen mit meiner Behauptung, das Java sich kaum noch weiterentwickelt. Daher kann ich deine Reaktion schon nachvollziehen.

    Man sollte sich am Anfang auf die wesentlichen Punkte konzentieren, da ist eine funktionale Sprache (wie C) besser geeignet.

    C ist keine funktionale Programmiersprache. Funktionen sind schließlich keine "first class citizens" wie int, char oder structs in C. Man kann zwar mit Funktionszeigern arbeiten und gewisse Eigenschaften von funktionalen Programmiersprachen nachahmen, aber eben nicht alle. Beispielsweise kann man in C keine neuen Funktionen zur Laufzeit erzeugen. In einer funktionalen Programmiersprache geht das. Beispielsweise hier in D:
    import std.stdio;
    
    auto multiplier( int m ) {
            int multiply( int x ) {
                    return x * m;
            }
            return &multiply; //kein Funktionsaufruf
    }
    
    
    int main( string[] args ) {
            auto mal3 = multiplier( 3 );
            auto mal2 = multiplier( 2 );
    
            writeln(
                    "2 mal 3 ist ",
                    mal3( 2 ),
                    " widewipp und mal 2 macht ",
                    mal2( 2 ), "re" );
    
            return 0;
    }
    //Ausgabe: 2 mal 3 ist 6 widewipp und mal 2 macht 4re //trifft leider nicht ganz das Zitat des stärksten Mädchens der Welt ;)



    Und wenn man sich dann noch an die Bean-Konventionen halten will, darf man für jedes Member auch noch getter- und setter schreiben. Klar, das kann auch die IDE erledigen, aber schön ist es trotzdem nicht.

    Naja, ob das nur Bean-Konventionen sind... Auch beim OO C ist es ein besserer Stil Getter und Setter zu schreiben. Sieht auch nicht jeder gleich, aber ob man sich an Konventionen hält oder nicht, muss man immer selbst entscheiden.

    Die idee hinter diesen Konventionen ist ja, das man sich offen halten möchte später immer noch möglichst viel am Code ändern zu können, ohne das in anderen Klassen/Modulen dann Probleme auftreten. Wenn man seine Variablen durch getter und setter beschützt, hat man viel bessere Möglichkeiten nachträglich noch was zu ändern, weil man alle Zugriffe überwachen kann.
    Andere Sprachen gehen da andere Wege. Beispielsweise in Ruby kann man aus einer Property problemlos nachträglich einen getter machen, da die Aufrufsyntax von Funktionen ohne Parameter identisch ist mit der Aufrufsyntax von normalen Properties.
    edit: Im nächsten Post Aussage korrigiert


    Durch dieses Versprechen können andere Programmierer die Methoden nutzen, ohne sich Sorgen zu machen, das die Schnittstelle irgendwann einmal nicht mehr kompatibel ist.

    Das ist falsch formuliert: public sagt nicht aus, dass sich die Schnittstelle nicht ändert - natürlich wäre es nicht gut, die Signatur von public-Methoden zu ändern, denn wer weiß, wo die überall verwendet werden.

    Ich verstehe leider nicht, wo du mir widersprichst. Bei public geht es um ein Versprechen. Ein Versprechen kann, aber sollte nicht gebrochen werden. Aus technischer Sicht kann man natürlich einfach sagen: Ich habe den Quellcode vor mir und kann damit machen, was ich will. Und das denken auch viele Programmieranfänger, wenn sie mit diesen Modifiern konfrontiert werden. Man muss eben erst die Erfahrung machen, wie ekelhaft refactoring werden kann, wenn es lauter Abhängigkeiten gibt.


    Aber bei den Sichtbarkeitsmodifikatoren geht es um etwas anderes. Ist die Methode da, um von willkürlichen Stellen aufgerufen zu werden? Dann sollte sie public sein. Beinhaltet die Methode Code, der von vererbten Klassen verwendet werden kann/soll/darf? dann protected. Macht ein Aufruf der Methode nur innerhalb der Klasse Sinn - private.

    Das ist die technische Perspektive. Ich habe das ganze primär auf der organisatorischen Perspektive beschrieben. Code, der als private oder protected markiert ist, darf vom Besitzer (oder vom jeweiligem Maintainer) beliebig verändert werden. Er ist dann bloß auch dafür zuständig den Rest der Codebase anzupassen, damit alle Klassen mit dem neuen Code zurecht kommen. Bei Code, der public-Code referenziert ist das ein hoffnungsloses Unterfangen. Man weiß oft nicht, wer außerhalb der eigenen Codebase diesen Code nutzt und kann ihn daher auch nicht korrigieren.


    Selbst wenn du ein kleines Projekt hast, welches nur aus wenigen Klassen besteht und an dem auch nur du arbeitest, ist es sinnig zu wissen, welche Methoden du von wo aus aufrufen darfst. Abgesehen davon, dass man nicht immer direkt weiß, was diese Methode tut (sowas vergisst man auch schnell mal), man bemerkt schnell, wenn Funktionalität an Stellen angeboten wird, wo sie eigentlich nicht hingehört.

    Also in der Hinsicht würde ich eher dafür plädieren den Code vernünftig mit JavaDoc auszustatten. Damit kann man dann auch sehr schöne HTML Dokumente erzeugen, die die ganzen Klassen mit ihren Methoden und Properties nett auflisten.


    Aber wem das zu viel "Overkill" ist, der kann ja auch alles public setzen (ich will diesen Code aber nicht sehn ;))

    Ich denke eben, das die Codebase von Anfängern nicht sonderlich groß ist. Wenn man da eine Funktionssignatur ändert, ist es meistens ein vertretbarer Aufwand den Rest des Programms auch noch anzupassen.


    Warum ich aber trotzdem nur auf diese Sprachen eingehe (evtl. als dritte C#) hat zwei Gründe:
    1.) Du hast viel(!) mehr Möglichkeiten dich zu informieren - Abgesehen von zahlreichen guten Tutorials im Internet geht es hier noch um persönliche Hilfestellungen, sei es durch Bekannte oder durch Fragen in Foren. Ehrlichgesagt kenne ich niemanden, von dem ich wüsste, dass er schonmal mit Scala in Berührung kam

    Das ist richtig. Das ist aber nur ein einzelner Aspekt, der für die Wahl einer dieser Sprachen spricht. Ich habe mich recht lange mit der Frage nach einer geeigneten Programmiersprache für den Einstieg beschäftigt und ich vertrete die Meinung, das Lua hier das beste ist, was mir bis jetzt über den Weg gelaufen ist. Als zweitgünstigste Sprache ist meiner Meinung nach Python zu nennen. Und zu Python gibt es wirklich viel Zeug im Internet zu finden. Ich schätze da steht diese Sprache den anderen kaum nach.


    2.) Wenn man sich mal Stellenausschreibung anschaut, Java, C++, C# deckt da alles ab. Natürlich lernt man andere Sprachen anschließend auch recht schnell, aber warum erst eine andere als "Muttersprache" wählen, um dann die weiter verbreiteten zu lernen?

    Weil ich glaube, das man so schneller zum Ziel kommen kann. Erst eine leichte Sprache lernen, gewisse Grundprinzipien verstehen und dann mit anderen Sprachen weitermachen und dabei dann die technischen Eigenschaften dieser anderen Sprachen separat als solche zu lernen.
    Ich habe keinen empirischen Beweis dafür, das es nach meinem Verfahren tatsächtlich schneller geht. Ich kann nur aus meinen Beobachtungen von meinem eigenem Lernprozess oder dem Lernprozess anderer schlussfolgern.

    Und ich selber pfeife auf Stellenausschreibungen. Ich programmiere, weil es mir Spaß macht.

    Beitrag zuletzt geändert: 2.2.2012 17:45:34 von bladehunter
  9. mlrecords

    Kostenloser Webspace von mlrecords

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Drachentöter

    12741 Gulden

    0 positive Bewertungen
    0

    mlrecords hat kostenlosen Webspace.

    bladehunter schrieb:

    Und ich selber pfeife auf Stellenausschreibungen. Ich programmiere, weil es mir Spaß macht.


    Im Endeffekt sind Stellenbeschreibungen nicht selten überzogen, zumindest die von KMU, weil manche Personen, die die Stellenausschreibung verfassen wenig Ahnung von dem Thema haben. Da wird nicht selten vom Bewerber die eierlegende Wollmilchsau verlangt. Tausende Programmiersprachen sind gewünscht, am besten sollte man zudem alle Befehle in allen Betriebssystemen auswendig kennen, mind. Microsoft und Open Office blind beherrschen und alle Datenbanksysteme kennen. Zudem sollte der Bewerber ein abgeschlossenes Studium der Informatik haben, fünf Jahre Arbeitserfahrung und nicht älter als 30 Jahre alt sein.
  10. flashmob-riedlingen

    Benutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Bettler

    161 Gulden

    0 positive Bewertungen
    0

    flashmob-riedlingen hat kostenlosen Webspace.

    C ist keine funktionale Programmiersprache.

    My fault - aber man kann das Funktionale Programmieren damit lernen - zumindest besser als mit Java.

    Wenn man seine Variablen durch getter und setter beschützt, hat man viel bessere Möglichkeiten nachträglich noch was zu ändern, weil man alle Zugriffe überwachen kann.
    Andere Sprachen gehen da andere Wege.

    Stimm ich dir zu. Ruby geht damit natürlich eleganter um, aber bei Sprachen welche keine Überwachung bei Zugriffen auf Properties zulassen, sind Getter und Setter für einen sauberen Programmierstil unerlässlich.

    Ich verstehe leider nicht, wo du mir widersprichst. Bei public geht es um ein Versprechen.

    Bei public geht es lediglich um das Versprechen, dass diese Methode ohne bedenken von Aussen aufgerufen werden kann. Ob die Methode nachträglich irgendwann geändert wird, darüber sagt dieses Schlüsselwort nichts aus.

    Also in der Hinsicht würde ich eher dafür plädieren den Code vernünftig mit JavaDoc auszustatten.

    Klar, Dokumentation ist immer wünschenswert, und zwar in jeder Sprache. Aber wenn du dein JavaDoc als HTML ausgeben lässt, wirst du dir auch nur die public (evtl. noch protected) Methoden ausgeben lassen.

    Ich habe mich recht lange mit der Frage nach einer geeigneten Programmiersprache für den Einstieg beschäftigt und ich vertrete die Meinung, das Lua hier das beste ist, was mir bis jetzt über den Weg gelaufen ist. Als zweitgünstigste Sprache ist meiner Meinung nach Python zu nennen.

    Über Lua kann ich nichts sagen, Python würde ich zumindest nicht widersprechen.

    Und ich selber pfeife auf Stellenausschreibungen. Ich programmiere, weil es mir Spaß macht.

    Naja, das ist vielleicht der Grund unserer Meinungsverschiedenheiten, kommt natürlich immer auf das Ziel an.

    mlrecords schrieb:
    Im Endeffekt sind Stellenbeschreibungen nicht selten überzogen, zumindest die von KMU, weil manche Personen, die die Stellenausschreibung verfassen wenig Ahnung von dem Thema haben. Da wird nicht selten vom Bewerber die eierlegende Wollmilchsau verlangt. Tausende Programmiersprachen sind gewünscht, am besten sollte man zudem alle Befehle in allen Betriebssystemen auswendig kennen, mind. Microsoft und Open Office blind beherrschen und alle Datenbanksysteme kennen. Zudem sollte der Bewerber ein abgeschlossenes Studium der Informatik haben, fünf Jahre Arbeitserfahrung und nicht älter als 30 Jahre alt sein.

    In der regel steht aber auch nur eine Sprache drin, die vorraussetzung ist, bei den anderen steht "wünschenswert" oder ähnliches dabei. Davon darf man sich aber nicht abschrecken lassen.
    Aber grundsätzlich stimm ich dir zu, die Profile nach denen in den meisten Stellenbeschreibungen gesucht wird, sind einfach nicht realistisch.
    Aber worauf ich da hinaus wollte, die meisten Stellenausschreibungen als Programmierer sind .NET-, Java-, Web- oder C/C++-Entwickler. Und dass man z.B. als .NET Programmierer C# beherschen muss dürfte klar sein.
    Daher rührt meine Aussage, dass Java, C++, C# und PHP zu den Grundausstattungen eines Informatikers gehören sollten.
  11. mlrecords

    Kostenloser Webspace von mlrecords

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Drachentöter

    12741 Gulden

    0 positive Bewertungen
    0

    mlrecords hat kostenlosen Webspace.

    Dem würde ich aber auch widersprechen.

    Meistens reicht eine der vier aufgezählten Programmiersprachen aus. Wenn man diese gut beherrscht, kann man sich auch unproblematisch in andere Programmiersprachen einarbeiten und das bei geringem Zeitaufwand.

    Ich muss zwischen Bachelor- und Masterstudium noch ein halbes Jahr Zivildienst machen und habe diesen in einem großen Krankenhaus- und Wissenschaftsbetrieb abgeleistet. War auf der Haustechnik eingesetzt und da die enorm große Anlagen hat, war halt vieles automatisiert (Thema Klima- und Belüftungsanlagen). Die hatten auch einen eigenen Programmierer, den ich entsprechend unterstützt habe. Ich hatte aus dem Studium nur Java-Kenntnisse, Kenntnisse in Scheme (bisher eher irrelevant) und PHP-Kenntnisse.
    Die Programme dort wurden jedoch hauptsächlich für Windows-Maschinen geschrieben, so dass in C# mit .NET entwickelt wurde.
    Ich habe ca. eine Woche ~35 Stunden Arbeit benötigt, um mich da von meinem Java-Kenntnisstand aus einzuarbeiten. Danach konnte ich schon die ersten Programme entwickeln.
    Nachdem ich zwei Monate lang ein kleineres Programm mit einer schwierig lösbaren Aufgabenstellung geschrieben habe, habe ich danach die restlichen vier Monate an einem umfangreichen Client zur Visualisierung von abgefragten Tiefkühlzellen-Werten gearbeitet.

    Wobei natürlich die Basis bei mir eine andere ist. Wenn man die Konzepte, die dahinter liegen versteht, kann man sie auf nahezu alle Programmiersprachen anwenden. Es ändert sich ja maximal die Syntax und die ist bei Java und C# so ähnlich, dass man sich nur eine neue IDE beibringen muss.

    Zu den Stellenausschreibungen: Da hast du auch recht, dass oftmals dran steht, dass es wünschenswert ist. Ich habe aber auch schon Stellenausschreibungen gelesen, wo so etwas proaktiv gefordert worden ist. Ob die dann wirklich ihren Traumbewerber dabei hatten, kann ich nicht sagen.
  12. flashmob-riedlingen

    Benutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Bettler

    161 Gulden

    0 positive Bewertungen
    0

    flashmob-riedlingen hat kostenlosen Webspace.

    Ja, es gibt da echt Ausschreibungen bei denen man sich fragt, ob das ernst gemeint ist.

    Es ist auch immer eine Frage, wie du an eine Stelle kommst. Wenn du als Zivi oder Werkstudent irgendwo anfangen willst, sagt sich der Arbeitgeber auch "der wird sich da schon schnell einarbeiten". Schließlich bist du eh eine billige Arbeitskraft. Aber wenn du dich als Absolvent auf eine Stelle als .NET Entwickler bewirbst, kannst du nicht in die Bewerbung schreiben "Javakenntnisse vorhanden, C# dürfte kein Problem sein". Natürlich findest du auch Stellen als Java-Entwickler, aber wenn du viele gängige Sprachen vorweißen kannst, hast du erheblich größere Chancen.
  13. bladehunter

    Kostenloser Webspace von bladehunter

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Prinz

    33144 Gulden

    5 positive Bewertungen
    0

    bladehunter hat kostenlosen Webspace.

    flashmob-riedlingen schrieb:
    C ist keine funktionale Programmiersprache.

    My fault - aber man kann das Funktionale Programmieren damit lernen - zumindest besser als mit Java.

    Die Aussage ist zwar richtig, aber im Endeffekt ist das fast wie "Die Welt mit einem Finger auf dem Atlas erkunden". C ist eben nicht besonders gut darin Konzepte aus der funktionalen Programmierung zu nutzen.


    Wenn man seine Variablen durch getter und setter beschützt, hat man viel bessere Möglichkeiten nachträglich noch was zu ändern, weil man alle Zugriffe überwachen kann.
    Andere Sprachen gehen da andere Wege.

    Stimm ich dir zu. Ruby geht damit natürlich eleganter um, aber bei Sprachen welche keine Überwachung bei Zugriffen auf Properties zulassen, sind Getter und Setter für einen sauberen Programmierstil unerlässlich.

    Da will man früh am Morgen nochmal schnell nen Post schreiben und dann rutschen da doch noch ein paar Fehler rein. Properties in Ruby sind per default private. Man kann aber einfach getter und setter erzeugen lassen mit den modifiern attr_accessor und attr_reader
    http://en.wikipedia.org/wiki/Ruby_programming_language#Classes

    Der Designer von Ruby hat eben erkannt, das Getter und Setter durchaus sinnvoll sind, aber es ist eben notorisch langeweilig diese explizit definieren zu müssen. Und selbst wenn die IDE das für einen macht, nimmt es trotzdem unnötig vertikalen Platz weg, wenn es sich um triviale getter und setter handelt.


    Ich verstehe leider nicht, wo du mir widersprichst. Bei public geht es um ein Versprechen.

    Bei public geht es lediglich um das Versprechen, dass diese Methode ohne bedenken von Aussen aufgerufen werden kann. Ob die Methode nachträglich irgendwann geändert wird, darüber sagt dieses Schlüsselwort nichts aus.

    Ich möchte mich selbst zitieren:

    Eine Methode, die public ist, bleibt in ihrer äußeren Erscheinung auch in den nachfolgenden Versionen einer Software in dieser Form bestehen.

    Ich vermute, ich habe mich nicht deutlich genug ausgedrückt. Die Implementierung der Methode kann sich natürlich noch ändern. Aber die Methodensignatur (Parameter und Rückgabetyp) sollten bestehen bleiben.


    Also in der Hinsicht würde ich eher dafür plädieren den Code vernünftig mit JavaDoc auszustatten.

    Klar, Dokumentation ist immer wünschenswert, und zwar in jeder Sprache. Aber wenn du dein JavaDoc als HTML ausgeben lässt, wirst du dir auch nur die public (evtl. noch protected) Methoden ausgeben lassen.

    Man kann javadoc auch einen "-private" Parameter mitgeben. Dann erzeugt er auch zu dem private-Code HTML-Dokumentation. Und wie du bereits richtig geschrieben hast, ist dieses Vorgehen für jede Sprache sinnvoll.


    Und ich selber pfeife auf Stellenausschreibungen. Ich programmiere, weil es mir Spaß macht.

    Naja, das ist vielleicht der Grund unserer Meinungsverschiedenheiten, kommt natürlich immer auf das Ziel an.

    Sehr gut möglich. Wobei ich mir kaum vorstellen kann, das jemand den Berufswunsch Programmierer hat und dabei den Spaß an der Sache nicht berücksichtigt. Gibt schließlich noch genügend andere Berufe, die man wählen könnte.

    mlrecords schrieb:
    Im Endeffekt sind Stellenbeschreibungen nicht selten überzogen, zumindest die von KMU, weil manche Personen, die die Stellenausschreibung verfassen wenig Ahnung von dem Thema haben. [...]

    Das ist in der Tat manchmal zu beobachten. Und diese Leute sagen dann auch "ihr programmiert in Java", weil sie damit bisher eben recht gut gefahren sind.

    In diesem Zusammenhang ist auch Beating the Averages von Paul Graham erwähnenswert, worin er erzählt, wie die Wahl einer anderen Programmiersprache ihnen geholfen hat sich gegen ihre Konkurrenten durchzusetzen. Auch wenn dies nur eine einzelne Erfolgsgeschichte ist, denke ich, das dieses Prinzip durchaus eine gewisse Allgemeingültigkeit hat. Man sollte eben auch mal das eigene Geschäftsmodell hin und wieder auf die Goldwaage legen. Ihr wisst ja, was derzeit bei der Musikindustrie abgeht...
    Und der Wechsel einer Programmiersprache ist da noch relativ harmlos.


    Aber worauf ich da hinaus wollte, die meisten Stellenausschreibungen als Programmierer sind .NET-, Java-, Web- oder C/C++-Entwickler. Und dass man z.B. als .NET Programmierer C# beherschen muss dürfte klar sein.
    Daher rührt meine Aussage, dass Java, C++, C# und PHP zu den Grundausstattungen eines Informatikers gehören sollten.

    Wenn man als Programmierer in der Wirtschaft arbeiten will, stimmt das sicherlich. Da muss man sich eben nach den BWLern richten :biggrin:

    Aus meiner Perspektive ist das aber eine recht magere Grundausstattung angesichts der Vielfalt an Sprachen, die es gibt. Natürlich ist es aufwendig einen größeren Pool an Sprachen zu lernen, aber da es auch viele Ähnlichkeiten gibt, kann man oft auf existierendem Wissen aufbauen und sich auf die Unterschiede konzentrieren. Je fremder eine neue Sprache ist, desto länger braucht man dann auch, um sie zu lernen. Aber die meisten Sprachen haben doch recht viele Ähnlichkeiten, weil jede Sprache auch ihre Vorbilder hat. Die Unterschiede resultieren dann meistens daraus, dass die neue Sprache Unschönheiten der alten Sprachen ausbügeln will.

    Für einige von euch wird das vielleicht schwer nachvollziehbar sein, aber durch das Lernen von neuen Sprachen wird man ein besserer Programmierer. Man lernt neue Blickwinkel auf Probleme kennen und erkennt auch Schwächen von bestehenden Sprachen, über die man bisher zwar gestolpert, aber sich nie wirklich bewusst gewesen ist.
    Und wenn man ein guter Programmierer werden will, sollte man sich meiner Ansicht nach nicht zu schade sein, immer etwas neues zu lernen.



    Und jetzt haben wir uns doch recht weit vom eigentlichen Thema entfernt...

    Also, auch wenn die Sprachen Java, C++, C# und PHP in der Industrie gefragt sind, so sind diese Sprachen (mit Ausnahme von PHP) primär auf große, performante und komplexe Anwendungen angelegt. Eben nicht gerade das, wovon ein Anfänger profitiert.

    Über PHP als erste Sprache kann man sich streiten. Ein kritischer Aspekt bei PHP ist die Sicherheitsfrage: Man programmiert damit in der Regel Webanwendungen und somit Anwendungen, die im Internet erreichbar sind (Ja, man kann auch was anderes damit anfangen, aber welches Tutorial unterrichtet das schon?). Und PHP hat (zu Unrecht) den Ruf, das es eine unsichere Sprache ist. PHP kann eben nichts dafür, wenn die Leute
    include $_GET[ 'page' ];

    schreiben. Sie wissen es einfach nicht besser.

    PHP war immerhin meine zweite Programmiersprache und sie war auch relativ leicht zu lernen. Aber aus heutiger Sicht finde ich die Sprache mittlerweile recht unschön. Aber gut, das ist eine Geschmacksfrage und kann daher nicht als objektives Gegenargument betrachtet werden :biggrin:
  14. mlrecords

    Kostenloser Webspace von mlrecords

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Drachentöter

    12741 Gulden

    0 positive Bewertungen
    0

    mlrecords hat kostenlosen Webspace.

    flashmob-riedlingen schrieb:
    Ja, es gibt da echt Ausschreibungen bei denen man sich fragt, ob das ernst gemeint ist.

    Es ist auch immer eine Frage, wie du an eine Stelle kommst. Wenn du als Zivi oder Werkstudent irgendwo anfangen willst, sagt sich der Arbeitgeber auch "der wird sich da schon schnell einarbeiten". Schließlich bist du eh eine billige Arbeitskraft. Aber wenn du dich als Absolvent auf eine Stelle als .NET Entwickler bewirbst, kannst du nicht in die Bewerbung schreiben "Javakenntnisse vorhanden, C# dürfte kein Problem sein". Natürlich findest du auch Stellen als Java-Entwickler, aber wenn du viele gängige Sprachen vorweißen kannst, hast du erheblich größere Chancen.


    Es spricht ja trotzdem nichts dagegen sich trotzdem zu bewerben und dann halt während die Bewerbung noch in Gang ist sich entsprechend einzuarbeiten.
    Wobei das wahrscheinlich auch nicht nötig ist. Weil Stellen für Informatiker gibt es glücklicherweise noch ziemlich viele und gerade Hochschulabsolventen werden meistens in großen Unternehmen ohnehin erstmal in Trainee-Programme gesteckt.
    Man wird übrigens auf die "Eierlegende Wollmilchsau"-Stellen auch oftmals angenommen, obwoh man nicht alles aus der Stellenbeschreibung direkt in gewünschter Form mitbringt. Das kommt auch da auf Sympathie an und nicht zuletzt, wie viel Konkurrenz man bei der Bewerbung hat.
    Mal davon ab: Zumindest wenn man aus dem Studium kommt, wird man nicht ewig der Code Monkey bleiben. Dafür wäre ein Studium dann auch etwas schade. Da geht es auch ziemlich schnell nach oben auf irgendwelche Projektleiter-Stellen.
    Das stört mich übrigens auch an Stellenbeschreibungen, dass selbst für Code Monkey-Stellen oftmals schon studierte Informatiker (mit x Jahren Berufserfahrung) gefragt sind. Ich möchte nach dem Studium nicht die gesamte Zeit "nur" Programmierer bleiben. Man sollte auch nicht vergessen, dass es in der Informatik auch noch Ausbildungsberufe (Fachinformatiker SI oder AE) gibt.

    PHP bringt übrigens viele der Unsicherheiten selbst mit. Die sehr schwache Typisierung ist daran meiner Meinung nach Mitschuld. Das macht es zwar für einen Anfänger wesentlich leichter sich die Sprache anzueignen, wenn eine Variable oder sogar der Inhalt einer Variable zum gleichen Zeitpunkt als Integer, String und Boolean gelten kann, dann muss man in professionellen Anwendungen viel mehr aufpassen, dass auch wirklich der gewünschte und nicht irgendein bösartiger Inhalter in der Variable ist, als mit anderen Techniken, wie JSP.

    Beitrag zuletzt geändert: 3.2.2012 0:35:19 von mlrecords
  15. bladehunter

    Kostenloser Webspace von bladehunter

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Prinz

    33144 Gulden

    5 positive Bewertungen
    0

    bladehunter hat kostenlosen Webspace.

    mlrecords schrieb:
    bladehunter schrieb:
    Die Chancen, dass Clojure und Scala in den nächsten Jahren deutlich bekannter werden, stehen allerdings gut.


    Was macht dich gerade bei Clojure (Scala hab ich mir nicht angeschaut) so sicher, dass es in den nächsten Jahren deutlich bekannter wird? Scheme und LISP sind ja auch eher Nischenprodukte und nicht wirklich weit verbreitet.

    Im wesentlichen hängt das mit der Philosophie zusammen, der Clojure folgt. Man sollte die Dinge so einfach gestalten, wie notwendig. Clojure ist gewissermaßen die entrümpelte Variante von Common Lisp und Scheme. Beispielsweise folgender let-Ausdruck in Scheme:
    (let ((var 10) (bar 20)) ...)

    Ist in Clojure einfach
    (let [var 10 bar 20] ...)

    Weil die Klammern um die Name-Wert-Paare unnötig sind. Außerdem hat man mit den eckigen Klammern eine klarere Abgrenzung der Werteliste. Auch werden viele antiquitiert klingende Namen durch aussagekräftigere Funktionsnamen ersetzt. Dinge wie (cadr) braucht man nicht. Man benutzt einfach Funktionen wie (nth) oder (drop).
    Und die Verwendung von zusätzlichen Klammertypen wie [] und {} macht es einfach erheblich netter damit zu arbeiten als mit anderen Lisp-Dialekten.

    Generell merkt man, dass die Sprache und die dazugehörige Standardbibliothek sehr gut durchdacht ist. Und immer mehr Leute scheinen das zu schätzen zu wissen. Die Clojure Community wächst stetig und mit ihr das Öko-System an Tools und Libraries. Wenn man das ganze beobachtet, sieht man, dass sich da etwas Größeres anbahnen könnte.

    Außerdem steht einem die komplette Landschaft mit Java-Bibliotheken zur Verfügung. Das ist auch eine Schwäche vieler bestehender Lisp-Dialekte gewesen. Es gab oft nicht ausreichend (und gut dokumentierte) Bibliotheken.


    Man muss allerdings auch sagen, das Clojure viele Dinge anders macht als andere Sprachen. Es ist nicht einfach in diese Sprache einzusteigen und es bleibt abzuwarten, wie viele Leute es schaffen, damit zurechtzukommen. Das Entscheidene ist eigentlich weniger die Sprache an sich, sondern die Programme die damit geschrieben werden. Wenn jemand es schafft mit einer Sprache eine wirklich coole Anwendung zu schreiben, wird die Sprache dahinter auch entsprechend Aufmerksamkeit erlangen. Common Lisp und Scheme haben das bis jetzt nicht fertig gebracht. Ob Clojure diese Aufgabe meistert bleibt abzuwarten.


    Zu Scala: Auch hier kann man ein deutliches Wachstum beobachten. Die Sprache ist jedenfalls keine Unbekannte mehr und taucht auch im Thiobe-Index unter den Top 100 auf. Ob Clojure zu "Lisp" gezählt wird, weiß ich nicht.
    Scala wird auch bei Twitter verwendet: http://www.artima.com/scalazine/articles/twitter_on_scala.html

    Beitrag zuletzt geändert: 3.2.2012 12:37:58 von bladehunter
  16. ener

    Benutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Bettler

    198 Gulden

    0 positive Bewertungen
    0

    ener hat kostenlosen Webspace.

    Wie kann man von Java abraten und dann eine nicht objektorientiert Sprache wir Clojure für den Einstieg nennen? :confused:

    Man muss allerdings auch sagen, das Clojure viele Dinge anders macht als andere Sprachen
    Also ein Anfänger sollte eine spezielle Sprache lernen? Mit Syntax die auch anders ist als viele andere Sprachen?

    Java bietet meiner Meinung nach eine gute Grundlage, die Syntax ähnelt vielen anderen Sprachen, OO ist vorhanden, Designpattern werden umgesetzt und können verwendet werden. OS abhängige Sachen sind kaum notwenig,so wie man sie bei c++ evtl. beachten muss (das ist etwas schwach formuliert, aber viele Anfänger versuchen die WINAPI zu nutzen, was meist nach hinten los geht und verstehen den Unterschied nicht zum Standard c++ etc.)

    Auch wird Java in Business Anwendung eingesetzt und im Mobilen Bereich. Somit wird die Nachfrage nach Java noch eine Weile andauern, ähnlich wie es bei COBOL ist. :megarofl:

    Ob solche "coolen" Sprachen es ja dahin schaffen werden ist fraglich. Oft verschwinden die so schnell wie sie gekommen sind und keinen interessiert es mehr, da eine "coolere" Sprache auf dem Markt ist.

    Beitrag zuletzt geändert: 3.2.2012 15:09:35 von ener
  17. bladehunter

    Kostenloser Webspace von bladehunter

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Prinz

    33144 Gulden

    5 positive Bewertungen
    0

    bladehunter hat kostenlosen Webspace.

    ener schrieb:
    Wie kann man von Java abraten und dann eine nicht objektorientiert Sprache wir Clojure für den Einstieg nennen? :confused:

    Du siehst einen Widerspruch, wo garkeiner ist. Ich habe Clojure (und Scala) explizit als Sprachen beschrieben, die nicht als erste Programmiersprache geeignet sind.

    Ob Clojure objektorientiert ist? Das ist eine schwierige Frage, insbesondere, da Clojure eben auch direkte Java-Unterstützung hat. Die Sprache ist ansonsten aber praktisch nicht objektorientiert. Jetzt werden sich natürlich einige Leute fragen wie das sein kann, dass man auf so eine große Errungenschaft verzichten kann. Clojure geht die Dinge eben anders an. Objektorientierung ist nicht der heilige Gral und birgt einige Probleme, denen Clojure aus dem Weg geht und dafür andere Lösungen anbietet. In erster Linie geht es darum Seiteneffekte und Querbeziehungen bei Objekten zu eliminieren, die es schwer machen zu verstehen, warum ein Programm sich auf eine bestimmte Weise verhält.


    Man muss allerdings auch sagen, das Clojure viele Dinge anders macht als andere Sprachen
    Also ein Anfänger sollte eine spezielle Sprache lernen? Mit Syntax die auch anders ist als viele andere Sprachen?

    Wie gesagt: Clojure ist als erste Programmiersprache nicht geeignet. Genauso wie Java und C++ und noch viele andere Sprachen. Programmieranfänger sind einfach nicht eine Zielgruppe dieser Sprachen. Eine Programmiersprache die auch Programmieranfänger berücksichtigt muss aber nicht völlig nutzlos sein. Python und Lua eignen sich ebenfalls um ernsthafte Dinge anzustellen.

    Java bietet meiner Meinung nach eine gute Grundlage, die Syntax ähnelt vielen anderen Sprachen,

    Java gehört eben zur Algol-Sprachfamilie.

    OO ist vorhanden, Designpattern werden umgesetzt und können verwendet werden.

    Wobei jemand den Neulingen auch erklären sollte, warum Pattern Foo für Problem Bar am sinnvollsten ist. Wenn man einfach nur Copy-und-Paste Programmierung macht, lernt man recht wenig dabei.

    Ich will es mal so sagen: Es ist nicht wichtig, das Code von Programmieranfängern gut ist. Wichtiger ist es zunächst grundsätzlich zu lernen, wie man Probleme/Regeln in der Programmierung beschreibt und löst. Gute Lösungen finden zu lernen ist dann erst ein späterer Schritt.


    OS abhängige Sachen sind kaum notwenig,so wie man sie bei c++ evtl. beachten muss (das ist etwas schwach formuliert, aber viele Anfänger versuchen die WINAPI zu nutzen, was meist nach hinten los geht und verstehen den Unterschied nicht zum Standard c++ etc.)

    Mit Linux wäre das nicht passiert :biggrin:


    Auch wird Java in Business Anwendung eingesetzt und im Mobilen Bereich. Somit wird die Nachfrage nach Java noch eine Weile andauern, ähnlich wie es bei COBOL ist. :megarofl:

    Richtig.


    Ob solche "coolen" Sprachen es ja dahin schaffen werden ist fraglich. Oft verschwinden die so schnell wie sie gekommen sind und keinen interessiert es mehr, da eine "coolere" Sprache auf dem Markt ist.

    Java war auch einmal eine "coole" Sprache. Aber mittlerweile haben sich eben viele weitere Sprachen entwickelt, die andere Lösungsansätze anbieten.

    Das diese "coolen" Sprachen in den nächsten Jahren verschwinden werden halte ich für die hier im Thread genannten Sprachen für unwahrscheinlich. Die jeweiligen Communities dahinter sind mittlerweile zu groß, als dass die Sprache einfach so verschwindet. Dafür wäre auf jeden Fall ein langwieriger Prozess oder eine Katastrophe nötig.

    Beitrag zuletzt geändert: 4.2.2012 0:04:53 von bladehunter
  18. lkmanager

    Benutzer, kostenlos Webspace Ketzer

    25 Gulden

    0 positive Bewertungen
    0

    lkmanager hat kostenlosen Webspace.

    Java ist eine einfache Objektorientierte Sprache und eig gut für den Einstieg.
    Mit den passenden Programmen/Editoren, zb BlueJ, kann man da nicht viel falsch machen.
    Aber wirklich "brauchen" tut man Java meiner Meinung nach nicht mehr,
    zum lernen okay... aber mittlerweile einfach nicht mehr aktuell.

    Mfg
  19. proplayers

    Benutzer, kostenlos Webspace Ketzer

    93 Gulden

    0 positive Bewertungen
    0

    proplayers hat kostenlosen Webspace.

    Ich finde es lohnt sich alles an programmiersprachen zu lernen weil man braucht nur die grundkenntnisse und man kann schon viele neue und schöne dinge anstellen.
    Ich würde es von deiner seite aus lernen ;)
  20. revan28

    Benutzer, kostenlos Webspace Ketzer

    28 Gulden

    0 positive Bewertungen
    0

    revan28 hat kostenlosen Webspace.

    Naja kommt halt drauf an was du dann damit später machen willst ;) ... wurde ja eig. schon alles gesagt. Für mich ist der wichtigste vortiel von Java das es auf (fast) jeder Plattform unterstützt ist.. nur doof das Java nicht so nah an die Hardware ebene greift :/
  21. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    Moderator Scharfrichter

    17412 Gulden

    49 positive Bewertungen
    0

    hackyourlife hat kostenlosen Webspace.

    revan28 schrieb:
    Für mich ist der wichtigste vortiel von Java das es auf (fast) jeder Plattform unterstützt ist.. nur doof das Java nicht so nah an die Hardware ebene greift :/
    Wenn das der Grund ist, kannst du genauso Python, Lua, Perl, ... lernen.
    Ein mindestens genauso wichtiger Grund ist aber, dass Java von der Syntax her von C++ kommt. Daher muss man, wenn man später doch C/C++ lernen möchte nicht wieder alles von vorne beginnen, da die Syntax ja (fast) gleich ist.
    Lua, Perl und Python haben jeweils eine ganz eigene Syntax, die jeweils ganz neu gelernt werden muss.
  22. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!