Anzeige
Seite 1 von 8 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 76

Thema: Programmiersprachen aktuell

  1. #1
    Registriert seit
    14.12.2005
    Ort
    Gebürtig in der Kurpfalz - dem Herzen Deutschlands :-) Mittlerweile im tiefsten Schwabenland lebend
    Beiträge
    1.621

    Standard Programmiersprachen aktuell

    Anzeige
    Hallo allerseits,

    ich spiele im Moment mit dem Gedanken, wieder mit dem Programmieren anzufangen.

    Meine letzte Zeit als Programmierer ist allerdings nun 15 Jahre her. Damals habe ich 68k Assembler und Basic beherrscht.

    Die Frage die ich habe ist hauptsächlich: welche Programmiersprache ist heute eigentlich empfehlenswert, wenn man (mit guten prinzipiellen Kenntnissen und Vorwissen aus dem Bereich) da wieder einsteigen will? Wichtig wäre mir daß die Sprache nicht zu schwierig, aber trotzdem leistungsfähig ist.

    Ich hatte da zunächst eigentlich an Java gedacht, komme mir aber nach den ersten Seiten des Onlinekompendiums vor wie in Böhmischen Dörfern.
    Das klassische [Befehl] [Quelle],[Ziel] scheint ja einigermaßen aus der Mode gekommen zu sein. Stattdessen wird da definiert was eine Methode ist, eine Klasse, etc., aber nicht wozu das eigentlich gut ist. Ich muß auch ehrlich sagen daß die aus C bekannte Schreibweise mit den ewig großen Klammern und { } mich schon immer sehr abgeschreckt hat. Von "objektorientierter Programmierung" habe ich schon gehört (das kam damals gerade auf als ich aufhörte), kann mir aber nicht viel darunter vorstellen. Früher hat man halt eher klassisch-seriell programmiert, dafür ist Java aber anscheinend gar nicht geeignet.
    Ich habe bei Java jedenfalls den Eindruck daß mir mein gesamtes Programmiererwissen von früher gar nichts mehr bringt.

    Sollte ich es also eher mit Java versuchen und in meinem Hirn den Resetknopf drücken und nochmal versuchen das Thema völlig neu anzugehen? Oder gibt es eine leistungsfähige Programmiersprache die mir da eher entgegenkäme?

    Gruß Alex

    (PS.: das ist zugegebenermaßen schon mein zweiter Anlauf, vor einigen Jahren wollte ich auch schonmal wieder damit anfangen, was sich aber damals wegen vorübergehenden Zeitmangels erübrigt hatte.)

  2. #2
    Registriert seit
    01.02.2005
    Ort
    St. Gallen, CH, Erde
    Beiträge
    7.368

    Standard

    Es geht mir nicht unähnlich. Ich habe mir ein Buch zu Python gekauft und ein bisschen damit gearbeitet, allerdings weit weniger als ich es mir wünschen würde... Python scheint mir aber eine einfache, klare und gleichzeitig sehr umfrangreiche Sprache zu sein (vielleicht nicht besonders schnell...).
    Planeten.ch - Acht und mehr Planeten
    Final-Frontier.ch - Auf zu neuen Welten

  3. #3
    Registriert seit
    14.12.2005
    Ort
    Gebürtig in der Kurpfalz - dem Herzen Deutschlands :-) Mittlerweile im tiefsten Schwabenland lebend
    Beiträge
    1.621

    Standard

    Habe mir mal den Wikipedia-Artikel dazu durchgelesen; das scheint für mich interessant zu sein, ich werde mir nach Feierabend mal die Infos auf der Entwicklerseite genauer ansehen.

    Geschwindigkeit ist nicht so wichtig. Mir geht es hauptsächlich darum, daß mir noch seit damals 2-3 Ideen im Kopf herumgeistern die ich gern mal verwirklich hätte, was damals durch mangelnde Rechnergeschwindigkeit, mangelnden Arbeitsspeicher, mangelnde Netzwerkmöglichkeiten oder zu aufwändige Programmierung einfach nicht möglich war (was heute durch zahllose Bibliotheken einfacher sein sollte, Python scheint da ja auch gut ausgerüstet zu sein).

  4. #4
    Registriert seit
    12.11.2005
    Beiträge
    5.198

    Standard

    Hallo Alex,

    auf welchem Betriebssystem bist Du denn zu Hause? Je nachdem gibt es ganz unterschiedliche Werkzeuge und Programmiersprachen. Wenn Dich Python interessiert, würde ich eventuell auch einen Blick auf Perl werfen. Das ist ebenfalls eine recht übersichtliche und mächtige Skript-Sprache.
    Gruß

  5. #5
    Registriert seit
    10.05.2009
    Beiträge
    231

    Standard

    Da möchte ich euch gern den Tipp geben, auch einen Blick auf die gewünschte Entwicklungsumgebung zu werfen statt nur die Programmiersprache.

    Wer ganz ohne Hilfe auskommt und mit einem funktionslosen Texteditor vollauf zufrieden ist, dem lege ich insbesondere Python (evtl. Java) als Herz. Die Datentypen in Python sind sehr schnell erlernt und verständlich, die Unterteilung der Programmblöcke durch Einrückung ist nur anfangs ein wenig gewöhnungsbedürftig.

    Wo Python als interpretierte Sprache Änderungen auf dem Quellcode noch on-the-fly zulässt, ist bei Java schon ein kleiner Bytecode-Compiler dazwischengeschaltet. Mit Java kann man sich anfangs schwer tun, da eine Menge Handbücher so geschrieben wurden, als müsste man bis Seite 1xx erst einmal erklärt bekommen, wie die Installation abläuft, bevor man mit der Sprache selbst loslegen darf. Klammerungen und das ";" zum Programmzeilenende lassen hier auch schnell mal für Anfänger unleserliche Codeblöcke entstehen. Im Grundsatz gilt jedoch: wer Java lernt, lernt häufig auch objektorientiertes Programmieren.
    Als Arbeitsumgebung wird gern Eclipse empfohlen. Auch wenn man sich am Anfang damit schwer tun sollte, die Finger von den ganzen Funktionalitäten zu lassen, sollte man sich auf die Kernfunktionalität konzentrieren. Für den Anfang reichen das mitgelieferte Highlighting, die Vorschlag- und Vervollständigungsautomatik und die Referenzensuche.

    Ein Vorteil von Java und Python ist, dass sie betriebssystemunabhängig sind.

    Wer die Grundlagen der Objektorientierung sehr schnell lernen will, kann sich auf die frei erhältlichen Visual Studio Developer Express Kits für .NET stürzen. Betrachten wir eingeschränkt nur VB.NET und C#.NET, dann erhält man hier zwei ineinander konvertierbare Programmiersprachen, die eine jeweils unterschiedliche Lesart unterstützen. Die Entwicklungsumgebung selbst beinhaltet, wie auch Eclipse, ein Highlighting, eine Vorschlag- und Vervollständigungsautomatik und eine Referenzensuche. Der Code wird kompiliert und ausgeführt, ist jedoch auf Windows beschränkt. Bei einem Marktanteil von knapp 95% innerhalb der webfähigen OS ist es jedoch recht unkompliziert, auf diesen Zug aufzuspringen und lange Zeit mitzufahren, da hier auch viel Onlinehilfe zu erwarten ist.

    C++ ist zum Einstieg heutzutage nicht mehr geeignet, wäre letzten Endes dann aber die am freiesten konfigurier- und optimierbare Sprache.

    http://www.gulp.de/kb/mk/chanpos/mar...us_csharp.html

    Java befindet sich seit 2008 auf dem absteigenden Ast, besitzt aber durch die Integration in Smartphones immernoch den höchsten Marktanteil. Erwähnenswert ist auch der Umstand, dass für Java und C#/VB .NET eine Community zur Verfügung steht, die Deutsch spricht, was bei anderen Programmiersprachen eher die Ausnahme ist.
    Geändert von Runzelrübe (29.11.2011 um 14:04 Uhr)
    Es ist eine besonders hübsche Kunst, sich in Dinge einweihen zu lassen, über die man Bescheid weiß, und zwar von Leuten, die nicht Bescheid wissen. - Alain Peyrefitte

  6. #6
    Registriert seit
    28.10.2006
    Beiträge
    348

    Standard

    Na, das JAVA auf dem absteigenden Ast ist, kann ich so gar nicht bestätigen... es kommt halt drauf an wofür man es einsetzt.

    Überhaupt hat hier noch niemand erwähnt, daß man bei der Auswahl der Programmiersprache darauf achten sollte, was das Ziel der Programmierung ist.

    Daher also die Frage: was willst Du denn eigentlich programmieren?

  7. #7
    Registriert seit
    14.12.2005
    Ort
    Gebürtig in der Kurpfalz - dem Herzen Deutschlands :-) Mittlerweile im tiefsten Schwabenland lebend
    Beiträge
    1.621

    Standard

    Danke erstmal für die vielen Tipps

    Wie ich auf Java kam: ich habe den Eindruck daß es umso populärer denn je ist; zum einen wegen der Smartphones, zum anderen scheint es auch recht schnell zu sein (z.B. läuft das Indie-Spiel Minecraft komplett auf Java).

    Was ich will:
    -Ein auf Spielrunden basierendes Strategiespiel umsetzen, mt begrenzten Onlinefähigkeiten (z.B. als E-Mail-Spiel) (wofür Geschwindigkeit nicht gebraucht wird)
    -wieder ein Werkzeug zur Hand haben mit dem ich mir selbst kleine Applikationen schreiben kann die man hin und wieder braucht
    -Kleinere Simulationen wie die hier schon besprochenen mal angehen; mein eigenes Evolutions-Simulationsprogramm das ich damals schrieb würde ich auch gern mal weiterentwickeln; hierfür wäre eine schnelle Sprache natürlich schon vorteilhaft.

    Gruß Alex

  8. #8
    Registriert seit
    11.03.2006
    Beiträge
    6.506

    Standard

    Hallo Alex,

    EDIT: Diese Antwort habe ich nach dem dritten Post hier angefangen /EDIT

    wenn Du bei Basic bleiben willst, dann kannst Du es mit GFA-Basic versuchen.

    Python scheint zumindest an der TU-Dortmund weit verbreitet zu sein, wie ich von meinen Söhnen weiß und es schein eine sehr große aktive ‚Gemeinde‘ zu geben, die die Zahl der Routinen schneller vermehrt, als man ihre Titel lesen kann.


    Objektorientierte Programmierung habe ich, wie leider auch alle anderen Programmierkonzepte niemals systematisch beigebracht bekommen, einfach weil es zu den Zeiten als ich’s gelernt habe, weder didaktische Konzepte noch Lehrer dafür gab. Was ich Dir also dazu schreibe ist sicher keine erschöpfende Auskunft, ja vielleicht sogar noch nicht mal bis zu Kern vorgedrungen. Das macht aber erst mal nix, denn des ist die Hürde über die man zumindest drüber muß, wenn man z.B. selber eine Datenbank erstellen möchte, die nicht nur Daten sammelt sondern damit auch was tut.

    Der kardinale Unterschied der mir (bei einem etwas umfangreicheren Access-Projekt) am deutlichsten aufgefallen ist, ist gar kein kardinaler Unterschied z.B. zu GFA-Basic. Man kann das auch damit programmieren, nur ist es damit extrem viel umständlicher (wenn man die entsprechenden Erweiterungen von GFA nicht verwendet).

    Diese Programme stellen einem eine Oberfläche und eine Werkzeugkiste zur Verfügung, mit der man die ganzen Möglichkeiten, die die Windows-Oberläche bietet, nicht mehr zu Fuß selber programmieren muß.

    Beispiel:
    In Basic mußt Du die Position der Maus auf dem Bildschirm auslesen und die Koordinaten in zwei Variablen ablegen. Dann mußt Du alle ‚Fenster‘, die Du vorher auf den Bildschirm hast zeichnen lassen nacheinander abfragen, also die zwei Koordinatenpaare, die ein nicht schief liegendes rechteckiges Fenster definieren darauf prüfen, ob die Mauskoordinaten innerhalb sind und wenn’s auf mehrere zutrifft zusätzlich unterscheiden welches davon ‚oben‘ ist.

    In Access z.B. nimmt Dir die Oberfläche diesen langweiligen Verwaltungsaufwand ab. Du kannst sozusagen gleich den Fenstern die Lieder zuordnen die sie singen sollen wenn die Maus vorbeikommt oder sie kitzelt oder sie zwickt. Du kannst also festlegen was 'Maus im Fenster', linke/rechte Maustaste wird (im Fenster) gedrückt, wird im Fenster gedrückt gehalten, wird im Fenster losgelassen, auslösen soll. All‘ diese ‚Eigenschaften‘ (also daß es z.B. unterscheiden kann was Du mit der Maus machst) mußt Du nun auch nicht für jedes Fenster einzeln programmieren, sondern jedes Fenster hat sie schon, wenn Du es erzeugst. Abgefragt werden sie unter VB mit dem Befehl ON. On mouse … (Den gab’s aber auch schon 1979 in Basic. Z.B. das Basic-Betriebssystem der HP9845 Rechner konnte das)

    Das gilt nun nicht nur für die Maus, sondern auch für z.B. Zahlen/Text die Du in das Fenster schreiben willst. Welche Farbe, welche Schriftart, welche Zeichengröße und, und, und soll er haben.

    Wenn Dir während Deines Entwurfs die Idee kommt, daß das Fenster für die Namenseingabe des Patienten doch besser 2 cm weiter links liegen und das Geburtsdatum lieber als erstes zu sehen sein sollte, dann brauchst Du die Fenster nur auf die entsprechende Position zu schieben und muß nicht mehr in Deinen tausenden von diesen Fensterdaten die richtige Stelle finden, wo Du den Koordinatenursprung des Fensters verändern kannst, damit es auch tatsächlich beim Öffnen dort auftaucht, wo Du’s haben willst. Die Programmieroberfläche erledigt das für Dich. Du kannst das aber auch in die Eigenschaften Liste dieses Fensters direkt schreiben.

    Für jedes dieser Fenster kannst Du neben den Eigenschaften die sie alle, jedes für sich, haben, nun eigene Routinen schreiben, die noch am ehesten dem entsprechen, was wir von früher her unter Programmieren verstehen. Jedes Fenster hat seine eigenen lokalen Variablen, man kann aber auch auf die Variablen anderer Fenster zugreifen. Also z.B. direkt nach der Eingabe des Geburtsdatums kannst Du in dem lokalen Unterprogramm ausrechnen, wie alt der Patient ist und das Ergebnis ins Nachbarfenster schreiben, auch wenn das zur Zeit gar nicht den Fokus hat, sich also ‚von selber‘ gar nicht angesprochen fühlen würde, durch Deine Eingabe des Datums.

    Die ganze Oberfläche die Du hergestellt hast, indem Du Fenster für Fenster erstellst und es auf dem Bildschirm platziert u. ihnen Programme und Progrämmchen zugeordnet hast, wie sie sich bei den Eingaben des späteren Benutzers verhalten sollen, arbeiten nun nicht mehr ein Programm in Top-Down-Architektur ab, sondern ‚warten‘ darauf daß jemand ihnen sagt: Eh‘ Du! Du bist jetzt gemeint. Z.B. dadurch daß man es mit der Maus anklickt, oder mit der Tabulatortaste der (festlegbaren) Reihe nach bei ihm ankommt. Dieses Fenster nimmt dann z.B. die Tastaturanschläge an, speichert sie in seiner, extra dafür angelegten Variablen ab, deren einzige Aufgabe es ist den Text für dieses Fenster bereitzuhalten, damit das Fenster ihn Dir zeigen kann (wenn Du es ihm beim Programmieren erlaubt hast) und arbeitet auch Dein Programm/Progrämmchen ab, das Du dafür programmiert hattest.

    Ein deutlicherer Unterschied zum althergebrachten ist nun, daß die Oberfläche nicht tot ist, bis das angesprochene Fenster-Programm mit Abarbeiten fertig ist, sondern mit oberster Priorität weiterhin seine Aufgaben erfüllt – also darauf zu achten, was Du z.B. inzwischen mit der Maus machst. Die Reihenfolge mehrerer Aufträge kannst Du ebenso über Prioritäten festlegen, die darüber entscheiden wer bei Konflikt zuerst abarbeiten darf.



    Wenn Du also etwas in der Art einer Eingabemaske wie bei einem Datenbankprogramm, einem Browser, einem Shooter, herstellen willst, bei dem Du mit dem Programm sehr viel kommunizieren willst, dann würde ich eine solche Oberfläche wie bei Access z.B. vorziehen. Wenn Du aber eine Formel/einen ganzen Formelkomplex immer wieder abarbeiten willst, dann würde ich das eher in Basic/C/Python ... programmieren.

    Am Ende hängt diese Entscheidung sicher auch davon ab in welcher Umgebung Du Dich souveräner bewegen kannst. Am Schlimmsten finde ich immer, wenn ich (ohne Übertreibung) stundenlang nach einer Funktion suchen muß, von der ich zwar weiß was sie machen soll und daß sie existieren muß, aber ich sie ums Verrecken nicht finde, weil ich keine Ahnung habe, wie sie ausgerechnet in dieser Sprache heißt.

    Herzliche Grüße

    MAC
    Geändert von mac (29.11.2011 um 15:06 Uhr)

  9. #9
    Registriert seit
    06.07.2006
    Ort
    Mintraching
    Beiträge
    2.599

    Standard

    Ich würde dir auch Visual Basic oder C# auf .net empfehlen, aus folgenden Gründen:

    1. Kostenlos
    2. Ganz gute Hilfe und Beispielprogramme
    3. Trainingsprogramme für Anfänger (bist du ja, was Objektorientierung angeht), z.B. Telerik (hat mein Sohn ausprobiert)
    4. Viele Foren
    5. Es funktioniert! Das heißt, du öffnest ein neues Projekt, drückst auf "Compilieren" (oder so), und es erscheint z.B. ein Fenster, keine kryptische Fehlermeldung! Das ist für mich der wichtigste Punkt, insbesondere im Vergleich mit manchen Open-Source-Geschichten.

    Bei Basic hast du wenigstens noch ungefähr die bekannte Syntax; um Klassen, Methoden etc. kommst du heutzutage nicht mehr herum, aber ich denke, da gibt's genug Beispielmaterial.

  10. #10
    Registriert seit
    14.06.2011
    Beiträge
    333

    Standard

    Anzeige
    Hallo,

    Du hast ja schon anklingen lassen, dass Smartphones für Dich interessant sind und in diesem Bereich gibt es
    derzeit nur zwei Unternehmen die den Markt unter sich aufgeteilt haben und das wären Apple und Google.
    Apple ist etwas länger präsent als Google und hat längere Zeit die absolute Dominanz inne gehabt.Microsoft
    versucht ebenfalls seit vielen Jahren und mit erheblichen Aufwand in diesem Bereich Fuß zu fassen, spielte
    und spielt aber weiterhin keine nennenswerte Rolle und verliert sogar derzeit noch Anteile. Das aktuelle
    Windows Phone 7 steht irgendwo zwischen 2-3% Marktanteil im Mobilebereich. Nokias Symbian Betriebssystem
    hat viele Jahre eine erhebliche Dominanz auf dem Handy und Smartphonebereich ausgeübt, ist jedoch
    wegen Management Fehlentscheidungen ins Abseits geraden, ebenso wie Blackberry.
    Unterm Strick bleiben derzeit also nur Google mit seinem OpenSource Betriebssystem Android und Apple
    mit iOS übrig und wenn man kann, sollte man beide Platformen bedienen.

    Apple iOS / ObjectiveC
    Um für iPhone und iPad zu entwickeln, benötigt man Apples hauseigene Entwicklungsumgebung XCode.
    Diese gibt es allerdings nur für den Mac-Rechner (mindest. Mac OS X 10.5 Lepard, 10.6 Snow Leopard
    oder Lion 10.7).Die Programme auf dem Mac sowie auf dem iPhone und iPard werden mit ObjectiveC
    programmiert (ein Applespezifisches, objektorientiertes C - kein C++). Darüber hinaus verlangt Apple eine
    Registrierung damit Du XCode von der Apple Website oder den App Mac Store herunter laden kannst.
    Während der Registrierung (um das aktuelle XCode 4.2 zu erhalten) muss man auch eine Zahlungsart
    angeben (Kreditkarte oder PayPal Konto) auch wenn der eigentliche Download dann kostenlos ist.
    XCode3 und/oder XCode4 (für das neueste Mac OS X) ist ein ca. 4 GByte großes Mac DMG File.
    Um XCode3 zu bekommen, muss man nicht wie bei XCode4 Zahlungsinfos angeben, aber man muss
    sich (wie bei allen XCode Versionen) eine Apple ID anlegen und sich zumindest für die kostenlose
    Mac Developer Mitgliedschaft entscheiden. Will man seine Appz später an iPhones, iPads, iPods
    verteilen, muss man eine Jahresgebühr von 99$ entrichten. Darüber verlangt Apple eine Beteiligung
    am Umsatz, übernimmt dafür aber das gesammte Marketing der App via Appstore und die Abrechnung.

    Weitere Infos:Mac DevCenter
    http://developer.apple.com/devcenter/ios/index.action

    Google Android / Java
    Bei Google ist das ganze etwas einfacher.Google hat eine eigene, virtuelle Maschine namens DalvikVM entwickelt,
    auf der die Appz auf Android Systemen laufen (Android ist ein auf Linuxbasierendes Mobile Betriebssystem) Derzeit
    unterstützt die DalvikVM hauptsächlich Java aber genau wie Microsoft .NET kann es potentiell auch völlig andere
    Programmiersprachen als Eingabesprachen nutzen.Die Entwicklungswerkzeuge (Android SDK) sind kostenlos und
    man benötigt eigentlich nichts weiter um schon damit ein Hello World Android Programm zu bauen. Allerdings
    ist es alleine mit dem Android SDK etwas umständlich und daher empfehle ich Dir die freihe Eclipse Entwicklungs-
    umgebung, die ausser Android auch noch viele andere Programmiersprachen unterstützt (die meisten Android
    Appz werden hauptsächlich mit Eclipse realisiert, weil es einen guten Codeeditor, Debugger und Hilfreiche
    Extras beinhaltet und alles etwas einfacher macht.Aber Vorsicht: Eclipse ist eigentlich mehr ein Baukasten
    denn eine ready to run Programmierumgebung, deshalb gibt es im Eclipsebereich auch sogenannte "Distributionen".
    Google unterstützt derzeit die Eclipse Distributionen Helios und Indigo (jeweils für Windows, Mac und Linux).
    Das besondere an Eclipse ist, dass man die gesamte Eclipse Arbeitsumgebung anhand von zahlreichen PlugIns
    erheblich erweitern kann und da dies so ist, bietet Google für sein Android SDK auch die passenden PlugIns
    für Eclipse an um damit komfortabel Android Appz zu entwickeln. Falls Du Dich also für Android oder einfach
    nur für unverselle Programmierung mit Eclipse interessierst (man kann damit auch C++, Python, C#, SQL nebst
    Java entwickeln - passende PlugIns vorausgesetzt).

    Hier ein Video von Google zur Android Entwicklung:
    http://developer.android.com/videos/...#v=Oq05KqjXTvs

    Weitere Infos:
    http://developer.android.com/guide/b...s-android.html

    ps: Natürlich kann man mit Eclipse auch ganz normale Desktop oder Server Java Programme in 32 oder
    64-Bit schreiben.

    Grüße, Peter
    Geändert von pmvstrm (29.11.2011 um 17:51 Uhr)

Ähnliche Themen

  1. Antworten: 20
    Letzter Beitrag: 20.09.2009, 14:23

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
astronews.com 
Nachrichten Forschung | Raumfahrt | Sonnensystem | Teleskope | Amateurastronomie
Übersicht | Alle Schlagzeilen des Monats | Missionen | Archiv
Weitere Angebote Frag astronews.com | Forum | Bild des Tages | Newsletter
Kalender Sternenhimmel | Startrampe | Fernsehsendungen | Veranstaltungen
Nachschlagen AstroGlossar | AstroLinks
Info RSS-Feeds | Soziale Netzwerke | Flattr & freiwilliges Bezahlen | Werbung | Kontakt | Suche
Impressum | Nutzungsbedingungen | Datenschutzerklärung
Copyright Stefan Deiters und/oder Lieferanten 1999-2013. Alle Rechte vorbehalten.  W3C