Mit welcher Sprache "starten"?

  • Ersteller Ersteller _Azer_
  • Erstellt am Erstellt am
A

_Azer_

Gast
Hallo! :)

Ich interessiere mich seit sehr lange Zeit schon für PCs und (viel mehr) für Software und deren Entwicklung, aber hab mir bis jetzt für den Anfang nur JavaScript (und darauf aufbauende Techniken wie Ajax) angesehen, das sich nicht wirklich als OO-Sprache bezeichnen darf.
Da ich jetzt etwas weiter gehen will, frage ich mich, welche Sprache ich lernen soll. Die Suchfunktion brachte leider ziemlich wirre Vorschläge - es gibt hier also klare Fans der verschiedenen Sprachen. Deshalb auch dieser Thread hier, weil ich spezielle Ansprüche an die Sprache habe.
Hauptsächlich interessiere ich mich für Anwendungen im Sinne von Offline-Aktivität, also keine Serverprogrammierung oder Webseiten-Design (Ajax + CSS reicht >_<).
Sollte sie dennoch damit kompatibel sein (Java beispielsweise - ob als Applet oder Serverprogrammierung), dann ist das jedoch kein Nachteil.
Die Möglichkeit etwas Windows-unabhängiger zu sein, ist ebenfalls kein Nachteil.
Ein späterer Umstieg auf C++ ist mir wichtig, weshalb sie auf jeden Fall zumindest einen Grundstein für den Umstieg legen sollte.
Vielen Dank schon mal im Voraus! :freaky:

mfg
Azer
 
Hmmm...da an den meisten Schulen mit Delphi angefangen wird...versuchs doch mal damit. Kann man ne Menge mit machen, n Kumpel hat ein Verwaltungstool mit Datenbank für knapp 1000 Schüler geschrieben, dass sogar die Windows-Linux-Schwelle überschreitet und konsolenlose Bedienung eines Samba-LDAPs ermöglicht.
 
Kann Dir Java bestens empfehlen.


Im Inf Studium ist das auch die erste Sprache die man lernt, weil dann einem später der umstieg auf andere Sprache relativ einfach fällt.( von java auf assembler vielleicht net gerade :D )

Wenn du Jscript schon kennst, dann wird Dir in Java sehr viel bekannt vor kommen.


Leicht verständlich und gut fundiert kann ich Dir http://www.galileocomputing.de/openbook/javainsel7/
empfehlen. Zum lernen der Sprache Java wirklich gut. Fängt mit dem einfachstem an und hört bei sehr tiefer gehenden Themen auf...
 
Was du suchst ist wohl Java.

Plattform-unabhängig, OO, C++ ähnliche Syntax.

Mit Java bist du eben nicht so nah an der Hardware, was Vorteile und Nachteile hat.
 
Delphi oder Java also?
Welche deckt denn mehr der obigen Anforderungen ab? Und von welcher kann man leichter in C++ einsteigen?

mfg
Azer
 
in c++ wohl mit java, allerdings bietet pascal anfänglich wesentlich mehr durchblick (meiner meinung nach).
 
Java ist zwar ekelhaft ENTERPRISE, aber immerhin im Gegensatz zu Delphi eine Sprache, die auch in der richtigen Welt benutzt wird. Also würd ich eher dazu raten.
 
Hallöchen, ich würde dir C++ ans Herz legen, bzw. C++ und C#.
Java ist ähnlih C#, daher kannst du bei bedarf leicht umsteigen.

C++ ist noch immer das Maß aller Dinge. Java ist kacklangsam wenn es um Performance geht. C# findet man eher im Business-Bereich wieder, genauso wie Java. Wir durften mal
mit Poseidon arbeiten, ein UseCase Programm. Komplett in Java geschrieben. Das Programm war schneckenlangsam und hat fasst 200MB im Arbeitsspeicher belegt.
Das nenn ich mal "Ressourcenschonend".
Nicht ohne Grund werden aktuelle Spiele immer noch in C++ entwickelt.
Ich möchte hiermit aber keine Diskussion anfangen was nun besser ist und was schlechter.

Mit C# und Java bist du aber in der Oberflächen Programmierung definitiv schneller unterwegs. Wenn es um Performance geht, bist du bei C++ richtig. (Ich erwähne daher mal Sachen wie Bilderkennung -und Analyse, aufwendige Matrizen und Vektoroperationen usw.)

Und Delphi... wer entwickelt in der Praxis noch mit Delphi. Vielleicht ein paar alteingesessene die sich weigern etwas neues zu lernen.
Das es in den Schulen noch Delphi/Pascal Unterrichtet wird liegt auch an solchen Personen.

Grüße,
XiaoLuo
 
Von C# möchte ich einmal abraten. Damit beschränkst du dich absolut auf einen
einzigen Anbieter und eine einzige Plattform. Die Kompatibilität des .NET Frameworks
geht bei jeder neuen Version komplett flöten und für Leute, die deine Software
benutzen wollen, ist es ein absoluter Graus. Für das eine Programm braucht man
.NET 1.1, für das nächste 2.0 undsoweiter, bis man am Ende 3-4 Versionen des
Frameworks installiert hat, nur damit alle Programme laufen.

Um es noch einmal zu betonen: Das .NET Framework gibt es nur von Microsoft und
nur für Windows. Wenn du in C# entwickeln möchtest, bist du ab sofort auf Gedeih
und Verderb Microsoft ausgeliefert, was deine weiteren Entwicklungen angeht und
du bist komplett ausschließlich auf Windows als Plattform festgenagelt.

Diese enorme unflexibilität mit Bequemlichkeit bei der Entwicklung zu erkaufen halte
ich für einen sehr falschen Weg.
Auch wenn es die Java Runtime als vollständige Implementierung bisher nur von Sun
gibt, läuft deine Software am Ende auf vielen Plattformen und Sun will die Java Run-
time in nächster Zeit komplett als Freie Software herausgeben. Damit hat man im
gegensatz zu .NET als Java Entwickler fast völlige Freiheit.

€: Ich bin kein Java Entwickler, deshalb kann ich zu Details nichts sagen. Es geht
mir jetzt eher um grundsätzliche Erwägungen. Wenn es nach mir ginge, könnte die
Welt auch auf Java gut verzichten, aber (vielleicht zum Glück) ist das nicht der Fall.
 
Gut...C++ ist für den Anfang vielleicht doch etwas zu gewagt, schätze ich, deshalb versuch ich mich mal an Java :)
Vielen Dank für die Infos!

mfg
Azer
 
Nochmal der Hinweis, es gibt auch schon einige Mono (.Net für Linux) Programme, z.B: http://www.mono-project.com/Screenshots

Wenn man wirklich Auch für Linux entwickeln will vielleicht nicht die beste aber durchaus eine Möglichkeit. Außerdem, wenn man eine "Vorbereitung" auf C++ will imo am besten, da die Ähnlichkeit der Syntax (und auch einigem darüber hinaus) hoch ist.

Und für alle Windows-Plattformen (z.B. auch PDAs bzw Smartphones mit Windows Mobile) die beste Möglichkeit. Zu den Frameworks: man braucht maximal 2 fürs normale Windows, 1.1 und 3.5. 3.5 beinhaltet alles ab 2.0. Selbst das Catalyst Control Center (ATI-Treiber-Konfiguration) basiert z.B. afair auf .Net. Dazu kommen viele andere Programme, also an der Verbreitung des Frameworks mangelt es wirklich nicht. (Bei Vista ist schon das .Net-FW 3 dabei, da braucht man normal keins mehr installieren, bei XP nur das 1er)

Ich finde es spricht nicht viel dagegen (wie gesagt, höchstens bei Linux, aber auch nicht wirklich) aber einiges dafür: OOP, hohe Codinggeschwindigkeit, schnelle Erfolge u.v.m.

=> mein Rat: C#.

/edit: und natürlich die imo guten IDEs (z.B. SharpDevelop, Visual Studio (Express)), die riesige MSDN...
 
Zuletzt bearbeitet:
Also Beispiele seien da z.B. Banshee und F-Spot genannt. Benutzen beide Mono(also c#). Mann muss sich nur vorher im klaren sein, welche Bibliotheken plattformabhängig sind und welche nicht.

Mit Java oder C# wirst du sicherlich nicht viel verkehrt machen. Und wenn du schon nicht damit anfangen willst würde ich dir auf jeden Fall dazu raten dir später mal Python oder irgendwas in die Richtung anzugucken. Da du dich ja später anscheinend auf C++ stürzen willst, kann es wirklich nicht schaden zwischendurch mal andere Konzepte kennenzulernen.
 
letztendlich kommt es halt darauf an, was er damit anfangen möchte. Standalone Applikationen? Dann wäre vielleicht c++ & co die richtige Wahl, wenn man sich mit Speicherallokation, Pointern und Referenzen rumärgern möchte (hihi, jedenfalls meiner Meinung nach) - Java hat hier den Nachteil, etwas speicherhungriger zu sein und die Standard-GUI-Elemente sind nicht gerade attraktiv anzusehen.

Möchte man sich in Richtung Webprogrammierung bewegen (J2EE, struts, jboss .......) kommt man an Java eigentlich nicht dran vorbei.
 
Dazu sag ich mal ASP.Net ;) Außerdem sehen die Steuerelemente von .Net natürlich auch gut aus (naja im Windows Stil halt). Das würde dann wieder für C# sprechen...
 
also wir haben mit java angefangen

es ist einfach und wir haben nen "super lehrer" er chillt die ganze zeit vorne, hoffe er ist nicht auch hier im forum unterwges, er mag auch pcs :D
 
Es gibt keine vollständige Implementierung von .NET auf anderen Plattformen als Windows und von keinem anderen Hersteller als Microsoft. Fakt.
Mono mag ja ganz hübsch sein, aber ein Ersatz für .NET ist es noch lange nicht und wird es sicher auch in längerer Zukunft nicht werden.
Microsoft stellt die einzig brauchbare Implementierung des .NET Frameworks und man ist ihnen in was auch immer sie sich für die nächsten
Versionen ausdenken mögen vollständig ausgeliefert.

Das halte ich für unzumutbar.

Du redest hier von "Außer für Linux ist C# fein" Aber das ist natürlich falsch. Es gibt mehr als zwei Betriebssysteme auf der Welt.
Und von all dieser Vielfalt sperrt man sich für immer aus, wenn man auf .NET setzt.

Wie gesagt, Java ist nicht das gelbe vom Ei, aber immerhin ist man in seinem Schaffen um einiges freier als mit .NET.
Vor allem jetzt, wo Java fast vollständig freie Software ist.

Dazu sag ich mal ASP.Net
Es gibt glücklicherweise noch Marktsegmente in denen Microsoft nicht Marktführer ist. Bei Webservern zum Beispiel.
Und so lange der Apache diesen Markt mit unangefochten absoluter Mehrheit dominiert[1], kannst du ASP.Net knicken.

€: Nicht zu vergessen, dass du damit noch stärker an Microsoft gebunden bist, weil dir IIS aufgezwungen wird.
Oder kann das noch ein anderer Webserver (ich bin mir hier nicht sicher)?


Ich finde, man sollte als Entwickler danach streben, in seinem Handlungsspielraum möglichst frei zu sein. Mit .NET
ist man in der Schlinge eines einzelnen Konzerns. Beschränkt auf eine Plattform. Das ist die Realität.

Wenn man ein Maximum an Freiheit haben will, was die Entwicklungsmöglichkeiten angeht, wären Sprachen wie
C und C++ als kompilierte Sprachen wohl noch das Beste. Java steht etwas schlechter da, aber das könnte sich
in Zukunft ändern. Ich hoffe jedenfalls, dass das passiert und es wäre für mich ein guter Grund, mal Java zu lernen.

[1] http://news.netcraft.com/archives/2008/04/14/april_2008_web_server_survey.html
 
Zuletzt bearbeitet:
asdfman: Du verwechselt ein Framework mit einer Sprache. Du würdest doch auch nicht behaupten C/C++ wäre an M$ gebunden, weil es die Win32-Api nur von M$ gibt. .NET und C# sind zwei verschiedene Sachen. Es gibt wie gesagt schon C#-Anwendungen für Linux.
 
Zuletzt bearbeitet:
C# zielt auf das .NET Framework. Die Sprache ist stark mit dem Framework verwoben.
Die Tatsache, dass es Software für andere Betriebssysteme als für Windows gibt, liegt
daran, dass es unvollständige Implementierungen des .NET Frameworks für andere
Betriebssysteme gibt, bei deren Benutzung sich der Entwickler stark einschränken muss;
z.B. muss er auf fast die ganze Standardbibliothek verzichten. Und du willst mir jetzt
bestimmt nicht mit "Na aber die Standardbibliothek hat doch mit der Sprache nichts zu
tun" kommen, oder?

DASS es unvollständige Implementierungen des Frameworks für andere Betriebssysteme
gibt, habe ich übrigens nie abgestritten. Lies mein letztes Post.

€: Die .NET Standardbibliothek ist gewaltig. Viel größer als die C oder C++ Standard-
bibliotheken. Ich will mal sehen wie mono die in den nächsten 100 Jahren nachgebaut
bekommt, ohne dass es von Microsoft schon 12000 neue Versionen gibt.

€2: Wer mag sie nicht? Zitate:
In interviews and technical papers he has stated that flaws in most major programming languages [...] drove the fundamentals of the Common Language Runtime (CLR), which, in turn, drove the design of the C# programming language itself.
Die CLR ist ein integraler Bestandteil des .NET Frameworks und C# wurde speziell dafür
entwickelt. C# gehört untrennbar zum Framework. Der verantwortliche Designer sagt
es selbst.
By design, C# is the programming language that most directly reflects the underlying Common Language Infrastructure (CLI).
Theoretically, a C# compiler could generate machine code like traditional compilers of C++ or FORTRAN; in practice, all existing C# implementations target CLI.
Mit anderen Worten: In deinen Träumen sind das Framework und die Sprache völlig
unterschiedliche Dinge, die mit trollen und Elfen einen hübschen Ringelrein tanzen.
Die Realität sieht anders aus.

Ich hoffe, du fühlst dich damit ausreichend widerlegt, und dir ist dein Post auch ein
bisschen peinlich.
 
Zuletzt bearbeitet:
Zurück
Oben