Keine Kenntnisse mit Programmieren - Wie Lernen?

Meine Herren, vergesst mir C++ mit Qt nicht (siehe: http://qt.nokia.com/). Der Qt Creator ist schwer ok, die Plattformunabhängigkeit beinah noch besser als bei Java. Die Vorteile von C/C++ brauch ich wohl nicht erörtern.

Leider gibt es kein Anfängerbuch zu Qt, soweit mir bekannt. Natürlich ist C/C++ im Vergleich mit Java die reinste Lehre, jedoch auch anspruchsvoller.
 
Ein guter Kompromiss reicht mir schon. ;-)
Und der scheint Java zu sein, oder?

Nachtrag: was mich in Richtung Python zerrt ist halt die Tatsache, dass ich, umso mehr ich google, immer öfter höre, Java wäre viel überladener, schwerer und braucht länger um vergleichbare Aufgaben zu lösen (als Python).
 
Zuletzt bearbeitet:
Python kenn ich nicht, aber das gesagte gilt in der Tat für C/C++: ist deutlich leichtgewichtiger und performanter als Java. C++ gehört halt als objektorienterter C - Abkömmling (wie Objective-C) zu den "Königen" der Programmierung: schnell, mächtig, aber auch nicht trivial (Zeiger! Speicherverwaltung!).
Wer C++ beherrscht, tut sich mit anderen Sprachen relativ leicht; der Nachteil dabei ist, dass diese Sprachen schwieriger zu lernen sind
 
Ein guter Kompromiss reicht mir schon. ;-)
Und der scheint Java zu sein, oder?

Nachtrag: was mich in Richtung Python zerrt ist halt die Tatsache, dass ich, umso mehr ich google, immer öfter höre, Java wäre viel überladener, schwerer und braucht länger um vergleichbare Aufgaben zu lösen (als Python).

Sagen wir es so:

Du willst Geige spielen lernen! Das wird nicht einfacher wenn Du Dir eine Stradivari kaufst und es wird auch nicht besser wenn Du ein Buch drüber liest. Du mußt üben, üben und üben! Hinter dem Programmieren verbergen sich Techniken, Denk-Schemata und einiges mehr. Die wollen erlernt sein. Dabei sind die Etuden nunmal das Wichtigste, nicht mit welchem Instrument Du spielst.

Willst Du Betriebssysteme schreiben/ändern wirst Du das in einer zum System passenden direkt in ein Executable kompilierenden Sprache tun ( C/C++...) willst Du portablen Code schreiben und eine Sprache mit der man GUI genauso machen kann wie WebApps und die auch bei so manchem DBMS und ERP-System als integrierte Sprache gilt dann wirst Du Java wählen. Willst Du eine WebApp schnell erstellen wirst Du sicher PHP/Ruby/Python wählen...kurzum Sprachen sind Werkzeuge und Du wirst Dir zu jedem Job das passende Werkzeug suchen müssen. Eine Sprache lernen reicht meist nicht; wichtiger ist es die Konzepte dahinter zu verstehen um dann die entsprechenden Tools nutzen zu können.

Aussagen wie "Java sei zu überladen" sind schlicht Blödsinn. Java erfordert in vielen Dingen einen gewissen Overhead der sich erst dann als nützlich erweist, wenn man größere Projekte angeht. Umgekehrt kann man auch C/C++als kompliziert darstellen, einfach weil der Programmierer dort für alle Sünden direkt bestraft wird ( und es doch erst Tage später realisiert), gerade in C/C++ hängt es davon ab wie gut der Programmierer ist, denn nicht alles was man machen kann sollte man deswegen nicht auch tun. Gerade C/C++-Programmierer benötigen mit am meisten Erfahrung.
 
Zuletzt bearbeitet:
Aussagen wie "Java sei zu überladen" sind schlicht Blödsinn. Java erfordert in vielen Dingen einen gewissen Overhead der sich erst dann als nützlich erweist, wenn man größere Projekte angeht.
Als Blödsinn würde ich das nicht bezeichnen - Java läuft nunmal in einer VM und braucht entsprechen mehr Ressourcen (CPU, Speicher) als guter alter Maschinencode. Niemand käme zB auf die Idee, einen Betriebssystemkern oder einen Desktop (ok, Sun hat´s getan, mit ohne Erfolg, v.a. wegen Trägheit) in Java zu programmieren.
Java hat halt andere Vorteile und wird deshalb auch häufig und gern in Bereichen eingesetzt, wo diese Vorteile zum Tragen kommen.

Umgekehrt kann man auch C/C++als kompliziert darstellen, einfach weil der Programmierer dort für alle Sünden direkt bestraft wird ( und es doch erst Tage später realisiert), gerade in C/C++ hängt es davon ab wie gut der Programmierer ist, denn nicht alles was man machen kann sollte man deswegen nicht auch tun.
Meine Rede (mit etwas andern Worten) :)
 
Loki Mephisto schrieb:
Als Blödsinn würde ich das nicht bezeichnen

mit Overhead sind da z.B. die J2EE/EE5/EE6 Umgebungen gemeint und weniger die Ressourcen. Wer zeitkritisch programmiert ( etwa nach Logic Analyzer) wird das kaum in einer VM tun, das ist dann wieder eine andere Baustelle.

Aber ich sag ja, je nach Aufgabe das passende Werkzeug. Man kann auch in C Webseiten schreiben, ob das wirklich Sinn macht sei dahingestellt ;)
 
Ich danke euch, werde mich wohl Java näheren!
Um tief unter die Motorhaube meines Systems zu kommen ist später immer noch Zeit. ;-)

"Java von Kopf bis Fuß" ist von 2006, ohne neuere Auflage. Ist das nicht etwas veraltet?
 
Zuletzt bearbeitet:
mit Overhead sind da z.B. die J2EE/EE5/EE6 Umgebungen gemeint und weniger die Ressourcen. Wer zeitkritisch programmiert ( etwa nach Logic Analyzer) wird das kaum in einer VM tun, das ist dann wieder eine andere Baustelle.

Aber ich sag ja, je nach Aufgabe das passende Werkzeug. Man kann auch in C Webseiten schreiben, ob das wirklich Sinn macht sei dahingestellt ;)

In der Tat...

Webseiten in C, das klingt cool. Fällt in eine Kategorie mit Brainfuck :)
 
oh das gibt es durchaus, ich meine das z.B. ein Teil von Nagios in C geschrieben ist, ob da auch Webseiten dabei sind weiß ich jedoch nicht - oder ntop das hat einen integrierten Webserver im Tool. Es kommt eben immer auf den Kontext an!
 
Zuletzt bearbeitet:
Ich danke euch, werde mich wohl Java näheren!
Um tief unter die Motorhaube meines Systems zu kommen ist später immer noch Zeit. ;-)

"Java von Kopf bis Fuß" ist von 2006, ohne neuere Auflage. Ist das nicht etwas veraltet?

Für den Einstieg in Java ist es egal. Das Buch ist ein super Einstieg. ...ich habe mittlerweile eine ganze Sammlung der "Head First"-Reihe (so heißt sie im englischen original) und kann sie nur weiter empfehlen.
 
Also ich mach ja jetzt seit dem September intensiv Java, ~ 7 Stunden in der Woche. Wäre "Java von Kopf bis Fuß" auch was für mich? Schreibe nur in Swing. Brauch in manchen Fällen halt ein Nachschlagewerk.

Da komm ich gleich zu meiner nächsten Frage: In wie fern unterscheidet sich Mac OS Skriptsprache von Java? Außer das es nur auf Mac OS läuft.

// früher hatte ich immer ein Tutorial gefunden und keins gefunden. Jetzt such ich nach Nachschlagewerken.
 
Ich habe mich jetzt etwas mit Java beschäftigt und auch (ganz kurz) in Objective-C reingeschnuppert. Obj-C ist mir aber etwas zuuu OSX-only.
Jetzt blicke ich gerade in die Richtung C++, mit dem man ja, soweit ich informiert bin, für mehrere Plattformen schreiben kann. Mit Frameworks a la xtWidgets und Qt sogar sehr gut.
Wie läuft C++ direkt/"nativ" (ich nenn es mal so...) auf OSX bzw. womit (Framework/Library)?


Von wegen der Lektüre habe ich mich schon mal umgesehen.
[ISBN]3836214296[/ISBN] und [ISBN]3836213850[/ISBN]Was ist wohl besser? Ich würde es gerne vermeiden, mich in der Lektüre plötzlich mit z.b. Windows-only Libraries konfrontiert zu sehen (darum frage ich hier).
Eine Basis was Programmieren (nicht C++) angeht habe ich, was OOP betrifft, bräuchte ich aber etwas, das bei 0 beginnt.
Spricht eher für das letztere Werk, oder?
 
Empfehlung: das C++ Buch und auch das Qt - Buch von Jürgen Wolf. Sind meiner Ansicht nach die brauchbarsten Bücher zum Thema. Das Qt - Buch behandelt auch kurz Qt 4.6
 
Leider wirst du aber ohne Cocoa keine wirklich native Anwendung hinbekommen.
 
Leider wirst du aber ohne Cocoa keine wirklich native Anwendung hinbekommen.

Doch, warum nicht? Ist halt keine Cocoa - Anwendung, aber das scheint ja keine Anforderung zu sein...

Um ehrlich zu sein: ich hadere oft mit mir selbst - genau wg. der o.g. Problemstellung: Cocoa ist ein phantastisches Framework, mMn. die mit Abstand effizienteste Programmierumgebung überhaupt. Aber... Mac only.
 
Weil man ohne Cocoa keine der Vorteile eines Mac in seinen Apps nutzen kann. Ist dann halt der übliche Kleinste-Gemeinsame...
 
Weil man ohne Cocoa keine der Vorteile eines Mac in seinen Apps nutzen kann. Ist dann halt der übliche Kleinste-Gemeinsame...
Das ist mir bewusst, aber dieser reicht mir und ist mir (persönlich) auch lieber, als das auf den Mac beschränkt sein. ;-)

Hat jemand die oben genannte Bücher und kann mir Tipps geben bzw. Auskunft darüber, dass keine Win-only Libs genutzt werden?
Käme irgendwie blöd im Lernprozess. ;D
 
Das C++ von a bis z verwendet wxWidgets um genau das zu vermeiden.
 
Zuletzt bearbeitet:
Das ist mir bewusst, aber dieser reicht mir und ist mir (persönlich) auch lieber, als das auf den Mac beschränkt sein. ;-)

Hat jemand die oben genannte Bücher und kann mir Tipps geben bzw. Auskunft darüber, dass keine Win-only Libs genutzt werden?
Käme irgendwie blöd im Lernprozess. ;D

Ich hab sowohl das C++ - Buch als auch das Qt - Buch von Jürgen Wolf ("C++ von A bis Z", "Qt 4 - GUI Entwicklung mit C++" - bei letzterem auf die letzte Edition achten, die behandelt auch Qt 4.6). Beide kann ich sehr empfehlen. Für C++/Qt gibt es übrigens das Qt SDK, welches auch eine recht brauchbare IDE mitbringt. Gibt es auch als freie Version (GPL und LGPL) unter qt.nokia.com. Check das einfach mal - die Doku von Qt ist ok, einige Beispiele zum Einstieg findest Du auch (werden auch mit dem SDK mitgeliefert).

Das Ganze ist mMn sehr empfehlenswert; die Bücher von J. Wolf sind recht gut, und mit dem Qt SDK ist man auch sehr gut unterwegs, und das plattformunabhängig.
 
Zurück
Oben Unten