Abo
  1. Foren
  2. Kommentare
  3. OpenSource
  4. Alle Kommentare zum Artikel
  5. › Android-App für Raspberry…

werGoogelnKann (kann auch Java -NEIN!

Anzeige
  1. Thema

Neues Thema Ansicht wechseln


  1. werGoogelnKann (kann auch Java -NEIN!

    Autor: Naseweiß 23.08.17 - 12:46

    Genau diese "Programmierer" sind dafür verantwortlich, dass Java jeden noch so starken PC in die Knie zwingt!

    Ich lese immer: es läge nicht an Java... also sind es diese möchte gern, aber eig. ist es doch Java, weil damit Hanz&Franz denken, sie könnten was Programmieren.

    Java ist Teufelswerk!
    Nur echte Profis sollten Java anfassen!

  2. Re: werGoogelnKann (kann auch Java -NEIN!

    Autor: fg (Golem.de) 23.08.17 - 13:31

    Hallo Naseweiß,

    natürlich ist die Überschrift etwas zugespitzt, aber es geht in dem Artikel schließlich nur um sehr einfache Apps für den Hausgebrauch. Ich kann nicht sehen, dass damit irgendwelche Geräte in die Knie gezwungen werden.

    Viele Grüße,

    Friedhelm Greis
    Golem.de

  3. Re: werGoogelnKann (kann auch Java -NEIN!

    Autor: Walter Plinge 23.08.17 - 13:43

    Ich muss Naseweis zustimmen. "Java können" kann man nicht nur wegen Google. Das ist als würde man behaupten Elektriker zu sein, weil man mit Hilfe von Google nachgelesen hat wie man einen Lichtschalter anbringt. Java ist tatsächlich ziemliches Teufelszeug, das man keinem Programmieranfänger ohne Aufsicht an die Hand geben dürfte.



    1 mal bearbeitet, zuletzt am 23.08.17 13:47 durch Walter Plinge.

  4. Re: werGoogelnKann (kann auch Java -NEIN!

    Autor: Pete Sabacker 23.08.17 - 14:57

    Walter Plinge schrieb:
    --------------------------------------------------------------------------------
    >Java ist tatsächlich ziemliches Teufelszeug, das man keinem Programmieranfänger ohne Aufsicht an die Hand geben dürfte.

    Und dennoch die Einsteigersprache schlechthin.

  5. Re: werGoogelnKann (kann auch Java -NEIN!

    Autor: RicoBrassers 23.08.17 - 15:18

    Pete Sabacker schrieb:
    --------------------------------------------------------------------------------
    > Walter Plinge schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > >Java ist tatsächlich ziemliches Teufelszeug, das man keinem
    > Programmieranfänger ohne Aufsicht an die Hand geben dürfte.
    >
    > Und dennoch die Einsteigersprache schlechthin.

    Sagen wir es mal so:
    Java ist sowohl als Anfängersprache geeignet als auch ungeeignet.

    Die Sprache selbst ist relativ einfach zu verstehen und zu erlernen, allerdings ist man eben noch kein "Java-Kenner", wenn man in Java Text aus einer Datei einlesen, manipulieren und wieder speichern kann.

    "In Java programieren zu können" und "Java kennen" bzw. "Gut in Java programmieren zu können" sind halt zwei unterschiedliche Dinge.

  6. Re: werGoogelnKann (kann auch Java -NEIN!

    Autor: Das Osterschnabeltier 23.08.17 - 19:15

    Pete Sabacker schrieb:
    --------------------------------------------------------------------------------
    > Walter Plinge schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > >Java ist tatsächlich ziemliches Teufelszeug, das man keinem
    > Programmieranfänger ohne Aufsicht an die Hand geben dürfte.
    >
    > Und dennoch die Einsteigersprache schlechthin.

    Würde ich so nicht unterschreiben, und ich bin selber Java Programmierer.

  7. Re: werGoogelnKann (kann auch Java -NEIN!

    Autor: m1ndgames 23.08.17 - 19:26

    > Nur echte Profis sollten Java anfassen!

    witzig. ich hab mit ner enterprise software einer großen firma zu tun wo die lizenz mal eben ne million kostet. sollte ja dann für qualität stehen... trotzdem geht regelmäßig der pager :P

  8. Re: werGoogelnKann (kann auch Java -NEIN!

    Autor: Pete Sabacker 23.08.17 - 20:52

    Das Osterschnabeltier schrieb:
    --------------------------------------------------------------------------------
    > Würde ich so nicht unterschreiben, und ich bin selber Java Programmierer.

    Schau Dich mal an den Hochschulen um, insbesondere in Nordrhein-Westfalen.

    Java hat viele Vorteile für Einsteiger. Die Syntax ist 'idiotensicher', die Menge an Sprachkonstrukten gering und die Nähe zur C-Syntax im Allgemeinen gut geeignet, um sich später vielleicht mal in anderen Bereichen umsehen zu können.

    - Keine Properties,
    - Kein Null coalescing-Operator,
    - Kein Null-conditional-Operator,
    - keine Operatorenüberladung,
    - keine 'echten' Delegates oder Methodenreferenzen,
    - alles instanziierbar,
    - checked Exceptions,
    - kein Lambda-Operator,
    - ...

    Man kann natürlich insbesondere bei Generics im Zusammenhang mit Type Erasure schnell mal in die Falle tappen.



    2 mal bearbeitet, zuletzt am 23.08.17 20:55 durch Pete Sabacker.

  9. Re: werGoogelnKann (kann auch Java -NEIN!

    Autor: Auspuffanlage 24.08.17 - 05:59

    Pete Sabacker schrieb:
    --------------------------------------------------------------------------------
    > Das Osterschnabeltier schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Würde ich so nicht unterschreiben, und ich bin selber Java
    > Programmierer.
    >
    > Schau Dich mal an den Hochschulen um, insbesondere in Nordrhein-Westfalen.
    >
    > Java hat viele Vorteile für Einsteiger. Die Syntax ist 'idiotensicher', die
    > Menge an Sprachkonstrukten gering und die Nähe zur C-Syntax im Allgemeinen
    > gut geeignet, um sich später vielleicht mal in anderen Bereichen umsehen zu
    > können.
    >
    > - Keine Properties,
    > - Kein Null coalescing-Operator,
    > - Kein Null-conditional-Operator,
    > - keine Operatorenüberladung,
    > - keine 'echten' Delegates oder Methodenreferenzen,
    > - alles instanziierbar,
    > - checked Exceptions,
    > - kein Lambda-Operator,
    > - ...
    >
    > Man kann natürlich insbesondere bei Generics im Zusammenhang mit Type
    > Erasure schnell mal in die Falle tappen.


    Das sehe ich auch so. Java hat schon viele Vorteile gegenüber anderen Sprachen.

  10. Re: werGoogelnKann (kann auch Java -NEIN!

    Autor: Pete Sabacker 24.08.17 - 06:22

    Ob das jetzt wirklich Vorteile sind, überlasse ich mal dem Entwickler :) Ich persönlich
    vermisse in Java viele der Operatoren, die in Swift oder C# vorhanden sind. Am Ende schreibe ich in Java häufig mehr Zeilen, um dasselbe wie in C# oder Swift erreichen zu können.

  11. Re: werGoogelnKann (kann auch Java -NEIN!

    Autor: RicoBrassers 24.08.17 - 07:59

    Pete Sabacker schrieb:
    --------------------------------------------------------------------------------
    > Ob das jetzt wirklich Vorteile sind, überlasse ich mal dem Entwickler :)
    > Ich persönlich
    > vermisse in Java viele der Operatoren, die in Swift oder C# vorhanden sind.
    > Am Ende schreibe ich in Java häufig mehr Zeilen, um dasselbe wie in C# oder
    > Swift erreichen zu können.

    Auf der anderen Seite kann der Code dann aber eben auch für andere Entwickler verständlicher sein, wenn halt statt irgendeinem Operator dann halt 1-2 extra Zeilen Code dastehen.

    Nur weil es 1-2 Zeilen mehr Code benötigt, muss das ja noch nichts schlechtes sein.
    Und ja, Java ist "bekannt" dafür, relativ "verbose" zu sein, was das betrifft. Dafür gehen aber andere Dinge auch deutlich "schneller" zu schreiben, als in so manch anderer Programmiersprache.

    Wie du schon geschrieben hast, ist es letztlich eine persönliche Präferenz. ;)

  12. Re: werGoogelnKann (kann auch Java -NEIN!

    Autor: lear 24.08.17 - 08:49

    Pete Sabacker schrieb:
    --------------------------------------------------------------------------------

    > Und dennoch die Einsteigersprache schlechthin.

    Ich bevorzuge für Einsteiger weniger objektlastige Scriptsprachen oder C++
    Java hat zu viel Standard-Umbau als Rauschen um das zu vermittelnde Signal: der Maschine vordenken.

    Bei C++ hat man zwar etwas kompliziertere Speicherverwaltung (wobei man rein im Stack anfangen kann), aber den Compiler als zur Syntaxanalyse (zB. schwache Datentypen mag ich überhaupt nicht, weil die noobs sich damit ins Knie schießen und meinen, sie hätten den Fuß getroffen)

    Java setzt dann irgendwo da ein, wo man sich um das Design Gedanken machen und eine gewisse Disziplin erarbeiten muß (weil man nicht mal gerade ANSI C dzwischenpfuschen kann ;-).

    Für absolute Einsteiger finde ich sie aber denkbar ungeeignet, sorry.

  13. Re: werGoogelnKann (kann auch Java -NEIN!

    Autor: theonlyone 24.08.17 - 10:14

    lear schrieb:
    --------------------------------------------------------------------------------
    > Pete Sabacker schrieb:
    > ---------------------------------------------------------------------------
    > -----
    >
    > > Und dennoch die Einsteigersprache schlechthin.
    >
    > Ich bevorzuge für Einsteiger weniger objektlastige Scriptsprachen oder C++
    > Java hat zu viel Standard-Umbau als Rauschen um das zu vermittelnde Signal:
    > der Maschine vordenken.
    >
    > Bei C++ hat man zwar etwas kompliziertere Speicherverwaltung (wobei man
    > rein im Stack anfangen kann), aber den Compiler als zur Syntaxanalyse (zB.
    > schwache Datentypen mag ich überhaupt nicht, weil die noobs sich damit ins
    > Knie schießen und meinen, sie hätten den Fuß getroffen)
    >
    > Java setzt dann irgendwo da ein, wo man sich um das Design Gedanken machen
    > und eine gewisse Disziplin erarbeiten muß (weil man nicht mal gerade ANSI C
    > dzwischenpfuschen kann ;-).
    >
    > Für absolute Einsteiger finde ich sie aber denkbar ungeeignet, sorry.

    Code erzeugen kannst du mit jeder der Sprachen sehr einfach, da braucht es keine tiefgreifende Kenntnisse.

    Wer "guten" Java Code erzeugt der hat viele Tools mit im Boot, den einfach im Text-Editor schreibt das "hoffentlich" keiner mehr (es sei den man ist Masochist).

    Bedeutet mit entsprechender IDE kannst du sehr viel automatisch erzeugen. Der größte Teil der Operationen existiert bereits in entsprechenden Bibliotheken, da muss und sollte man das Rad auch gar nicht ständig neu erfinden (wer also auf die Idee kommt eine Sort Methode ständig selbst zu schreiben, dem sollte man auf die Finger hauen und fragen was der sich dabei denkt).


    Komplexere Systeme bedingen eben das man sich mehr Gedanken macht, gerade damit man später nicht alles umwerfen muss. Ein paar elegantere Pattern um Strategien festzulegen, anstatt in aber tausende If Schachteln zu fallen.
    Das funktioniert alles noch im kleinen Rahmen, aber sobald man an die Funktion die 10te boolean Flag dranhängt um eine Funktionalität an/abzuschalten hört der Spaß mit der Übersichtlichkeit einfach komplett auf. Wer sich da keine Gedanken macht seinen Code zu überarbeiten der wird zwangsläufig immer schlimmeren Code produzieren weil das keiner mehr durchblickt und es auch grausig zu testen wird.


    Kein vernünftiger Programmierer wird sich hinsetzen und alles per Hand eintippen, da sollte die Sprache keine Rolle spielen.

    Für "Anfänger" ist alles was Hardware-Nah programmiert immer eine riesige Pitfall an Komplexität die sie erst einmal gar nicht verstehen können, gerade wenn sie anfangen vermeintliche "Optimierungen" vorzunehmen, die letztlich nur den Code komplett unwartbar werden lassen, gerade in der tödlichen Kombination aus "Keine Dokumentation, keine Planung, keine Tests".
    Schaut ein erfahrener Programmierer mal drüber und zeigt dem Anfänger welche vorhandene Methoden es für diverse Code-Teile bereits gibt, hat man ein wahnwitzig übersichtlicheres Ergebnis (den vieles wird direkt zum 1-Zeiler).

  14. Re: werGoogelnKann (kann auch Java -NEIN!

    Autor: lear 24.08.17 - 10:32

    Du wills Programmieranfängern aber keine IDE beibringen, sondern strukturiertes und algorithmisches Denken.
    Die Maschine hat kein Assoziationsvermögen - etwas, was man im Umgang mit Menschen aber gewohnt ist.
    Als erstes muß man also vermitteln, wie man etwas einem Idioten (dem Computer) so erklärt, daß er es danach richtig macht.

    Davon ausgehend kannst Du Dich sehr schell in Syntax und Tools einarbeiten (und mußt es letztlich je nach aktueller Anforderung auch)

    Danach mußt Du vermitteln, wie man größere Projekte plant und umsetzt (ohne daß es hinterher in Wust oder refactoring-Orgien ausartet)

    C++ (und erst recht nicht Scriptsprachen) sind auch keineswegs "hardwarenah" (auch wenn man damit hardwarenah programmieren kann). Der Umgang mit dem Heap erfordert mehr Konzentration und auch wenn das ab bestimmten Projektgrößen (ohne smart pointer, RIAA etc.) kaum noch problemlos umzusetzen ist, erachte ich es für den (etwas späteren) Bildungszweck als eher nützlich denn hinderlich.

  15. Re: werGoogelnKann (kann auch Java -NEIN!

    Autor: theonlyone 24.08.17 - 11:00

    lear schrieb:
    --------------------------------------------------------------------------------
    > Du wills Programmieranfängern aber keine IDE beibringen, sondern
    > strukturiertes und algorithmisches Denken.

    Für strukturiertes und algorithmisches Denken ist es egal welche Sprache du benutzt.
    Aber gerade die Unart alles neu zu schreiben wird dadurch gelöst das man zum einen die IDE verwenden kann um einiges zu generieren (inklusive Build Tool, Maven and friends) und deine ganze System Hygiene inklusive Tests etc.
    Wer seine IDE hier nicht kennt, der verliert sich schnell darin das man alles komplett neu erfinden will. Das ist nicht nur unnötig, sondern auch richtig schädlich.

    > Danach mußt Du vermitteln, wie man größere Projekte plant und umsetzt (ohne
    > daß es hinterher in Wust oder refactoring-Orgien ausartet)

    Beim Thema Refactoring stellt sich immer die Frage ob man seine Tools kennt und wie man sein Model darin abbildet.
    Den das muss nicht Katastrophal sein. Refactoring gehört durchaus zum normalen Alltag dazu, gerade wenn man gelernt hat das man es besser machen kann, dann stellt man das möglichst früh und mit möglichst einfachen Mitteln und Toolgestützt um. Wer losgeht und alles per Hand refactored, wird zwangsläufig Fehler machen, wer dann keine Tests hat um seine Funktionalität zu bestätigen, handelt sich damit Probleme ein, zeigt aber auch deutlich das die Infrastruktur die man sich aufgebaut hat komplett ungeeignet ist für Refactoring. Und solche Probleme werden mit zunehmendem Alter des Projekt, Personal-Umstellungen etc. immer schlimmer, packt man also besser möglichst früh an. Und damit ein Refactoring gut funktioniert muss man sich eben auch an einige Pattern halten und von Anfang an keinen Murks machen.

    Regelmäßig über seine Projekte zu schauen was Refactoring Bedarf hat ist eine gute Sache. Das hält die Programm-Teile nicht nur aktuell, man merkt auch was man wegschmeißen kann, oder für was es bessere Alternativen gibt.
    Umso länger man im Blindflug fährt mit der Logik "Es funktioniert ja aktuell, also fassen wir es auch nicht an" , umso problematischer ist es dann, sobald man feststellt, "Ach scheiße, wir müssen alles umbauen" und das Know-How ist zu dem Zeitpunkt wohl auch schon abgewandert und dann gehen die richtigen Katastrophen los.

    > C++ (und erst recht nicht Scriptsprachen) sind auch keineswegs
    > "hardwarenah" (auch wenn man damit hardwarenah programmieren kann). Der
    > Umgang mit dem Heap erfordert mehr Konzentration und auch wenn das ab
    > bestimmten Projektgrößen (ohne smart pointer, RIAA etc.) kaum noch
    > problemlos umzusetzen ist, erachte ich es für den (etwas späteren)
    > Bildungszweck als eher nützlich denn hinderlich.

    Hardware-Nah im Sinne das man sich mit Dingen beschäftigt die für die reine Anwendung keine Rolle spielen.

    Der Heap sollte nicht relevant sein für deine Anwendung, wenn er das ist, entwickelst du schon auf eine Hardware hin und bist nicht abstrakt genug.
    Wenn du etwas sortieren willst, verwendest du auch eine entsprechende vorhandene Sort Funktion und programmierst nicht selbst frei Hand noch mal eine eigene Sort Methode nach.
    Wer diverse Funktionalität bei Android braucht verwendet die API dafür und schreibt es auch nicht frei Hand alles neu.
    Du schreibst Anwendungs-Programme, das grundlegendste Detail sollte man dabei gar nicht neu programmieren müssen und das sollte ein Anfänger auch niemals anfassen (abseits von Hobby Projekten oder mit wohl überlegtem Wissen das man das braucht und was man da tut).

  16. Re: werGoogelnKann (kann auch Java -NEIN!

    Autor: lear 24.08.17 - 17:03

    theonlyone schrieb:
    --------------------------------------------------------------------------------

    > Für strukturiertes und algorithmisches Denken ist es egal welche Sprache du
    > benutzt.

    Sicher, aber einige Sprachkonzepte versenken das wesentliche im semantischen Umbau - zumindest am Anfang ist das nutzlose Fracht für den Lernenden.
    Der strikt objektorientierte Ansatz von Java gehört mEn dazu.

    > Aber gerade die Unart alles neu zu schreiben wird dadurch gelöst das man
    > zum einen die IDE verwenden kann um einiges zu generieren (inklusive Build
    > Tool, Maven and friends) und deine ganze System Hygiene inklusive Tests
    > etc.

    Irgendwie reden wir glaube ich aneinander vorbei.

    Es geht hier -dachte ich- doch darum, Anfängern das Programmieren zu vermitteln.
    Natürlich erfinden die dabei das Rad jedesmal neu - nichts wurde so häufig programmiert wie "Hello World" und jeder™ lernt "Rekursion" über die Fibonacci-Reihe etcetc.

    Anfänger lernen ja nicht Programmieren indem sie ein echtes Projekt stemmen.

    Das kommt dann im nächsten Schritt und beinhaltet natürlich, daß man sich eine Übersicht über die zur Verfügung stehenden Werkzeuge und Bibliotheken verschafft und lernt, ihre Vor- und Nachteile im Hinblick auf die eigenen Anforderungen zu bewerten.

    Eine IDE sollte dann imo dem Programmierer stupide Arbeit abnehmen, aber keinesfalls seine Defizite kompensieren. (Ich kenne das: wenn es nicht mehr baut, weil MSVS sich irgendwo verschluckt hat. Und dann legt man eben ein komplett neues Projekt an und kopiert den Quellcode dahin. Zum schreien.)
    Das heißt nicht, daß man ein Makefile runterschreiben können und jeden compiler switch kennen muß, aber man sollte sich darin zurechtfinden können (daß gilt auch für die beliebte Frage "Warum crashed es nicht im debug mode")


    Du scheinst eher die Frage zu beantworten, wie ein "Ahnungsloser" möglichst schnell zu einem Ergebnis kommt - und natürlich sind die toolkits, die trivial Ereignisse mit Signalen verknüpfen und eine passende GUI automatisch generieren, da die richtige Antwort. Davon lernt man aber "nichts" und es hat auch nichts mit Programmieren zu tun. (Was nicht heißen soll, daß es keine praktische Relevanz hätte)


    Was das refactoring angeht: es gibt refactoring und refactoring.
    Das eine ist sinnvoll, aber das andere ist einfach nur ein Zeichen, daß das Design grundsätzlich nicht stimmt und man nicht weiß (oder darüber nachgedacht hat) warum.

  17. Re: werGoogelnKann (kann auch Java -NEIN!

    Autor: monito 26.08.17 - 15:06

    Also, eine Datei einlesen und wiederspeichern sieht es vielleicht trivial aus aber wenn man betrachtet, dass die Datei evtl. von anderen Dienste oder Dämons (je nach OS) gleichzeitig benutzt werden könnte...

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Anzeige
Stellenmarkt
  1. Groz-Beckert KG, Albstadt
  2. CompuGroup Medical Dentalsysteme GmbH, München, Kassel, Düsseldorf
  3. Bertrandt Technikum GmbH, Ehningen bei Stuttgart
  4. DIgSILENT GmbH, Gomaringen

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Blu-ray-Angebote
  1. 49,99€ mit Vorbesteller-Preisgarantie
  2. 12,85€ + 5€ FSK18-Versand


Haben wir etwas übersehen?

E-Mail an news@golem.de


Metroid Samus Returns im Kurztest: Rückkehr der gelenkigen Kopfgeldjägerin
Metroid Samus Returns im Kurztest
Rückkehr der gelenkigen Kopfgeldjägerin
  1. Doom, Wolfenstein, Minecraft Nintendo kriegt große Namen
  2. Nintendo Das NES Classic Mini kommt 2018 noch einmal auf den Markt
  3. Nintendo Mario verlegt keine Rohre mehr

Galaxy Note 8 im Test: Samsungs teure Dual-Kamera-Premiere
Galaxy Note 8 im Test
Samsungs teure Dual-Kamera-Premiere
  1. Galaxy S8 und Note 8 Bixby-Button lässt sich teilweise deaktivieren
  2. Videos Youtube bringt HDR auf Smartphones
  3. Galaxy Note 8 im Hands on Auch das Galaxy Note sieht jetzt doppelt - für 1.000 Euro

Zukunft des Autos: "Unsere Elektrofahrzeuge sollen typische Porsche sein"
Zukunft des Autos
"Unsere Elektrofahrzeuge sollen typische Porsche sein"
  1. Project One Mercedes bringt ein Formel-1-Triebwerk auf die Straße
  2. Elektroautos VW steckt 70 Milliarden Euro in Elektrifizierung
  3. BMW So soll der Elektro-Mini aussehen

  1. Windows 10: Windows Store wird zum Microsoft Store mit Hardwareangeboten
    Windows 10
    Windows Store wird zum Microsoft Store mit Hardwareangeboten

    Ein neues Logo und neue Angebote: Microsoft will den zukünftigen Microsoft Store mit eigenen und Partnerprodukten befüllen - zusammen mit passenden Angeboten beim Neukauf. Der neue Store kommt wahrscheinlich mit dem Fall Creators Update.

  2. Kabelnetz: Eazy senkt Preis für 50-MBit/s-Zugang im Unitymedia-Netz
    Kabelnetz
    Eazy senkt Preis für 50-MBit/s-Zugang im Unitymedia-Netz

    Der Discounter im Netz von Unitymedia senkt nach wenigen Monaten bereits den Preis für sein 50-MBit/s-Produkt. Doch der Upload bleibt schwach.

  3. Nintendo: Super Mario Run wird umfangreicher und günstiger
    Nintendo
    Super Mario Run wird umfangreicher und günstiger

    Eine neue Welt und Daisy als spielbare Figur: Nintendo kündigt ein großes Update für Super Mario Run an. Gleichzeitig soll das für iOS und Android verfügbare Mobile Game vorübergehend günstiger erhältlich sein.


  1. 13:28

  2. 13:17

  3. 12:25

  4. 12:02

  5. 11:58

  6. 11:34

  7. 11:19

  8. 11:04