Programmieren lernen

Also von Unity schon. Die Entwickler versuchen teils ihre Alternative zu puschen, aber am verbreitesten in den Foren ist C#.
Unity ist Geschichte, da Ubuntu zu Gnome zurückkehrt. P.S. Unity ist kein GUI-Toolkit, sondern eine Desktop Umgebung. https://en.wikipedia.org/wiki/List_of_widget_toolkits

EDIT:
Wir sind jetzt allerdings bei Glaubensfragen angelangt. Zum Prorgammieren lernen eignen sich Java und C# so ziemlich exakt gleich gut.
C++ weniger.
Skriptsprachen wie Phython und JS geringfügig mehr, da am besten nachvollziehbar.
Es gibt mit "Accelerated C++" eine recht ordentliche Einführung in C++ für Anfänger, die C++ im Sinne von C++ vermittelt. Leider mittlerweile etwas angestaubt und nicht auf dem neusten Stand, d.h. es müsst eigentlich überarbeitet werden. Also ja, auch mit C++ geht das. C ist eher nicht mein Fall, da müsste man parallel zur Vermittelung von C gleich einen Kurs abhalten was für fundamentale Fehler man in C machen kann, die dann zu Exploits führen. Da kann man meiner Meinung nach nicht früh genug mit anfangen. D.h. C und Sicherheitsbelehrung müssten parallel unterrichtet werden. C hat leider da eine sehr unrühmliche Geschichte - siehe gets().

Trotzdem rate ich Ossifan nicht zu C++, bringt auf dem Mac nicht viel. Es wird nur in Extremfällen für Webanwendungen genutzt, wenn Performance alles andere dominiert. Ein Punkt ist keine Glaubensfrage: Die Verfügbarkeit der Werkzeuge auf einer Plattform ist schon noch von Belang. C# ist in erster Linie eine Windows Geschichte. Deshalb sollte man abseits von Windows auch die Finger davon lassen.

Was jetzt das Problem an GTK# ist, weiß ich nicht?
Gtk# basiert auf Gtk+ 2.x, somit läuft es nicht brauchbar auf HiDPI Bildschirmen, denn dazu braucht man unbedingt Gtk+ 3.x. Also ist das nichts für neue Projekte, da Gtk+ 2.x zu allem Überfluss auch nicht mehr gewartet wird. Wenn man also Gtk+ neu erlernen will, dann wird man das mit Sicherheit nicht mit einer veralteten API machen, die von keinem aktuellen Linux Desktop mehr genutzt wird. Wenn Gtk+ dann Gtk+ 3.x und dann eine der aktuell unterstützen Sprachen. Gnome (Gnome entwickelt mittlerweile Gtk+) unterstützt selbst: C, C++, Javascript, Python und Vala. Zusätzlich wird Gtk+ 3.x von D, FreeBASIC, Haskell, Java, Lua, Pascal, Perl, Ruby und Rust vollständig unterstützt, durch Ada, Fortran und Go nur eingeschränkt. Ich denke in dieser langen Liste sollte sich eine Sprache finden, mit der man Gtk+ entwickeln kann. Persönlich würde ich zu einer der von Gnome direkt unterstützten Sprache raten, solange es keinen triftigen Grund gibt davon abzuweichen z.B. man braucht für eine Ada Hochsicherheitsanwendung ein GUI.

Außerdem kann man C# eben überall verwenden (Unity, ASP.NET Core, Xamarin Forms),
"Überall" ist ein starkes Wort, läuft es z.B. unter i oder z/OS?

C# ist ein Werkzeug aus der Windows-Welt. Solange man keine C# Projekte portieren muss, sollte man in der Nicht-Windows-Welt die Finger davon lassen. Viele Windows-Nutzer sind viel zu sehr auf Windows fixiert, um das erkennen zu können.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Unity ist Geschichte, da Ubuntu zu Gnome zurückkehrt. P.S. Unity ist kein GUI-Toolkit, sondern eine Desktop Umgebung. https://en.wikipedia.org/wiki/List_of_widget_toolkits

unglücklicherweise irrst du dich hier ganz massiv: Unity - Game Engine - basiert auf Mono und wird mit C# programmiert. Ist quasi der Standard für Indiegames.

"Überall" ist ein starkes Wort, läuft es z.B. unter i oder z/OS?
nicht die gleiche API, wie am Desktop, aber iOS: Build a Native Android UI iOS UI with Xamarin.Forms - Xamarin. Und was Mono auf Linux für z/OS entgegensteht, weiß ich nicht ;)?

C# ist ein Werkzeug aus der Windows-Welt. Solange man keine C# Projekte portieren muss, sollte man in der Nicht-Windows-Welt die Finger davon lassen. Viele Windows-Nutzer sind viel zu sehr auf Windows fixiert, um das erkennen zu können.
Und das gleiche gilt noch tausend mal mehr für Swift !? (wird ja langsam wie oooverclocker...) – wobei bei .NET immerhin einige kommerzielle Stake-Holder Interesse haben, dass es nicht nur auf einem OS läuft.
 
unglücklicherweise irrst du dich hier ganz massiv: Unity - Game Engine - basiert auf Mono und wird mit C# programmiert. Ist quasi der Standard für Indiegames.
Ich irre mich nicht, Du redest nur von etwas ganz anderem. Es kann ja mal passieren, dass man einander vorbeiredet, aber wenn Du die Unity Game Engine meinst, solltest Du das auch schreiben. Denn in der Linux Welt wird mit Unity meistens die Unity Schreibtischumgebung assoziiert. Sorry, aber wenn man sich über Möglichkeiten für Anfänger unterhält, dann denke ich nicht an ein Framework für Spieleentwicklung, zumal das vom OP gar nicht nachgefragt wurde, und ich persönlich nichts mit Spieleentwicklung zu tun habe.

Und was Mono auf Linux für z/OS entgegensteht, weiß ich nicht ;)?
Linux läuft nicht auf z/OS (wie auch das ist ein komplett eigenes Betriebssystem), es gibt nur die UNIX System Services für z/OS. .NET core läuft nur auf x86/x86-64 OSs. Bei Mono kann man sich die supported Plattforms anschauen, z/OS gehört nicht dazu genauso wie AIX, IBM i, HP-UX, OpenVMS, Solaris SPARC64 und diverse andere. Man kann mit Sicherheit Lösungen finden (z.B. Linux LPAR mit Mono auf zSeries) C# Programme trotzdem auszuführen, aber das ändert nichts an meiner Aussage, dass C# eine aus der Windows-Welt stammende Entwicklung ist, und in der Regel keine gute Wahl für die Softwareentwicklung auf *I*X Systemen. Wie immer bestätigen Ausnahmen die Regeln.

Und das gleiche gilt noch tausend mal mehr für Swift !? (wird ja langsam wie oooverclocker...) – wobei bei .NET immerhin einige kommerzielle Stake-Holder Interesse haben, dass es nicht nur auf einem OS läuft.
Swift ist momentan eine noch sehr starken Entwicklungen/Änderungen unterworfene Programmiersprache. Es gibt einen direkten Port für Linux, aber wie immer wenn es um Apple und Portabilität geht, hat man auch hier massive Probleme, weil alle wesentlichen Frameworks von Apple nicht zur Verfügung gestellt werden. D.h. Cocoa gibt es nur für macOS und iOS, und eben nicht für Linux.

- - - Updated - - -

@Ossifan
Da das ganze ausartet, einen kurzen Leitfaden wie man in die GUI-Applikationsentwicklung auf dem Mac einsteigen kann.

  • Lade Dir im Mac AppStore Xcode herunter.
  • Treffe eine Entscheidung, ob Du eher mit dem älteren und besser dokumentiertem Objective-C anfangen willst, oder das neuere Swift nutzen willst.
  • Für Objective-C einige Literaturtipps, es gibt natürlich die offizielle Sprachdokumentation bei Apple, die sich an erfahrene Entwickler richtig und zum Lernen nicht ausreichend sein wird.
    • Aaron Hillegass, Cocoa Programming for OS X: The Big Nerd Ranch Guide, 5. Auflage
    • Stephen Kochan, Programming in Objective-C, 6. Auflage
    • Amin Negm-Awad, Objective-C und Cocoa: Band 1: Grundlagen, 3. Auflage
  • Für Swift
    • Die Apple Swift Doku, die gibt es als iBook zum kostenlosen herunterladen.
    • Swift Programming Guide | Big Nerd Ranch
    • Es gibt noch ein paar Bücher über Swift, allerdings fehlt mir da die Übersicht um die beurteilen zu können.
 
@ Ossifan

Womit fiel dir der Einstieg denn nun am leichtesten?
Ich hatte diese Woche meine erste Stunde in C# unter Visual Studio. Ich konnte zwar ein paar Zeilen dann umsetzen, aber nur durch auswendig lernen und nicht durch Verständnis zu den eigentlichen Dingen die ich da tat.

Deswegen suche ich auch einen Start, welcher mir die Grundbegrifflichkeiten verständlich für einen blutigen Nichtskönner und Nichtskenner erklärt, dabei aber nicht zu trocken ist.

Hat dir einer der Vorschläge der Mitglieder hier im Thread besonders gefallen und helfen können?

Gesendet von meinem TRT-LX1 mit Tapatalk
 
C - Programmieren von Anfang an

visual Studio ist schon gut, vor allem kann man damit super easy guis bauen!
Habe mich davor immer gedrückt ne GUI zu basteln, aber seit ich VS habe gibts bei mir keine Kommandozeile mehr :)
 
Also C fällt schon in die Kategorie "trocken"...
Man sollte die Grundprinzipien vom programmeiren lernen aber das heisst nicht dass man gleich an Pointer ran sollte o.ä.

Um die Prinzipien einer Sprache zu lernen sollte man sich aber erstmal nicht in eine GUI vertiefen denn das ist halt schon etwas sehr spezifisches und umfangreiches.

Ich schlage Python oder weiter C# vor. Letzteres habe ich auch als erste seriöse Sprache gehabt.
@Bassey
Du machst das im Unterricht oder so? Dann warte einfach noch 2-3 Wochen ab. Denke du wirst dann die Grundprinzipien auch verstehen :)
 
Würde niemals mit C anfangen. Ist viel zu kompliziert. Besser mit Java oder C#. Ich finde C# bisschen intuitiver aber zu Java findet man eben deutlich mehr Tutorials im Netz.

Allerdings ist es im Prinzip egal, man sollte eben irgendwie die Grundkonzepte verstehen. Das ist relativ unabhängig von der verwendeten Sprache möglich.

Für Java finde ich das hier für den Anfang ganz gut:
openbook.rheinwerk-verlag.de/javainsel/javainsel_02_001.html#dodtp332f236b-44e2-4fc6-a101-14774985570c

Für C# kenne ich jetzt kein solches Tutorial aber es gibt sicher auch welche.


Gesendet von iPad mit Tapatalk Pro
 
Ich persönlich würde zwar selbst bei einem professionellen Projekt kein Python einsetzen(weil ich reine Performance mag), aber die Sprache halte ich für den Privatgebrauch und Entwürfe/Testing sehr nützlich, weil man schnell Ergebnisse erzielen kann und eventuell hat man dann erst recht viel Spaß daran, sie zu erlernen: Humble Book Bundle: Python
 
Das ist aber schön... Leider gibt es auch im professionellen Bereich viele Dinge, die wichtiger als Performance sind (u.U. auch die Zeit, bis eine Lösung steht). Das HumbleBundle sieht nach typischen Print-On-Demand Datenmüll aus (wie ungefähr jedes Bundle, außer dem von OReilly)...
 
Das HumbleBundle sieht nach typischen Print-On-Demand Datenmüll aus (wie ungefähr jedes Bundle, außer dem von OReilly)...

Klar, sind das jetzt nicht unbedingt die hochwertigsten Python-Bücher aber so wirklich schlecht bewertet sind sie auch nicht. Man wird auch nicht über den Tisch gezogen, indem es Bücher zu komplett verschiedenen Themen sind, wie bei dem letzten, wo ich nur von 2 Büchern überhaupt von der Überschrift her irgendeinen Nutzen gehabt hätte.
Rein vom Titel kann ich mit allen Büchern was anfangen und für knapp 13€, die man sogar, wenn man wollte, komplett an die EFF oder die FSF(oder wohin man möchte) spenden kann, habe ich da direkt zugeschlagen. Als eine umfangreiche Ergänzung zu bestehenden Büchern kosten sie ja nicht die Welt.
 
Ja, hab' gestern auch noch einmal reingeschaut, der Amerikaner scheint wirklich ein gutes TKinter-Tutorial zu verkaufen (wo es ja keines gibt) – wenn man das braucht ist das wohl auch den Asia-Müll wert...
 
Nachdem die neue DSGVO in Kraft getreten ist, kann ich Dir nur raten, Deine Website von einem professionellen Webdesigner - z.B. Webdesign Friedberg - erstellen zu lassen. Denn wenn Du Sicherheitslücken auf Deiner Website hast, bekommst Du unter Umständen ein Riesenproblem. Ich kann Dir das nur ans Herz legen, da ein Bekannter von mir mittlerweile einen Riesenwirbel wegen der Sache hat.
 
Zuletzt bearbeitet:
Klar, sind das jetzt nicht unbedingt die hochwertigsten Python-Bücher aber so wirklich schlecht bewertet sind sie auch nicht. Man wird auch nicht über den Tisch gezogen, indem es Bücher zu komplett verschiedenen Themen sind, wie bei dem letzten, wo ich nur von 2 Büchern überhaupt von der Überschrift her irgendeinen Nutzen gehabt hätte.
Rein vom Titel kann ich mit allen Büchern was anfangen und für knapp 13€, die man sogar, wenn man wollte, komplett an die EFF oder die FSF(oder wohin man möchte) spenden kann, habe ich da direkt zugeschlagen. Als eine umfangreiche Ergänzung zu bestehenden Büchern kosten sie ja nicht die Welt.

Gehört das hier in das Unterforum auch rein?
Gibt es gute Bücher bezüglich Powershell (Skripte erstellen, allgemein)?
 
Hallo zusammen!

Ich habe vor Jahren Java-Programmierung im Studium gelernt. Eine eine starke Sprache zum Programmieren lernen für Einsteiger, die ich echt empfehlen kann, ist PureBasic. PureBasic ist eine auf BASIC basierende, prozedurale Programmiersprache - und der Clou: für Windows, MacOS, Linux und sogar AmigaOS (für alle Retrofans). Damit kann man schon mit recht wenig Aufwand tolle Programme und sogar Spiele programmieren :-)

Hier ein paar Infos dazu: https://de.wikipedia.org/wiki/PureBasic
 
Zuletzt bearbeitet:
Da würde ich doch eher https://de.wikipedia.org/wiki/Lazarus_(Entwicklungsumgebung) empfehlen. Läuft auf allen möglichen und unmöglichen Plattformen, produziert schnelle Ergebnisse, ist einfach zu erlernen und trotzdem mächtig genug, um damit fast alle Programmieraufgaben zu erledigen. Und vor allem ist die Programmiersprache im Gegensatz zu Basic gut strukturiert und modular.
 
Servus, bin grad auch dabei mir eine Progammiersprache zu erarbeiten (Python).
Hier folge ich einem Kurs, den ich auf https://www.udemy.com/ gefunden hab. Fühlt sich bislang gut an.
Natürlich kann man seinen Kram selber zusammen suchen. Aber so, ist es doch noch etwas angenehmer.
Bei meiner Erstanmeldung hab ich einen Rabatt für die ersten Kurse bekommen (bis zu 90%) und auch sonst scheinen hier sehr viele Rabattaktionen zu laufen (der nächste kam zum Valentinstag). Niemand dürfte, die doch sehr hohen Normalpreise, zahlen. Aber wie gesagt, bislang empfinde ich den Kurs, den ich belegt hab, als sehr gut. In großen Teilen sogar besser, als das, was meine Ausbildungsstätte gerade online anrichtet.

Nun hätte ich aber noch eine Frage, hoffe der TE ist mit der Entführung seines Freds einverstanden :-)...
Phantasielos wie ich bin, suche ich nach einigen Aufgaben zum Lösen. Damit ich das gelernt gleich mal Üben kann.
Zwar gibt es auch Kursmaterialien - aber je mehr desto besser.
Im Datennirvana gibt es bestimmt eine tolle Ideensammlung, mit denen man Grundlagen üben kann.

Hat jemand einen Tipp?
 
Zuletzt bearbeitet:
Leider kam mir der Hausbau dazwischen, aber ich werde demnächst auch wieder hier einsteigen. Natürlich kannst du den Thread auch benutzen.
 
Servus, bin grad auch dabei mir eine Progammiersprache zu erarbeiten (Python).
Hier folge ich einem Kurs, den ich auf https://www.udemy.com/ gefunden hab. Fühlt sich bislang gut an.
Natürlich kann man seinen Kram selber zusammen suchen. Aber so, ist es doch noch etwas angenehmer.
Bei meiner Erstanmeldung hab ich einen Rabatt für die ersten Kurse bekommen (bis zu 90%) und auch sonst scheinen hier sehr viele Rabattaktionen zu laufen (der nächste kam zum Valentinstag). Niemand dürfte, die doch sehr hohen Normalpreise, zahlen. Aber wie gesagt, bislang empfinde ich den Kurs, den ich belegt hab, als sehr gut. In großen Teilen sogar besser, als das, was meine Ausbildungsstätte gerade online anrichtet.

Nun hätte ich aber noch eine Frage, hoffe der TE ist mit der Entführung seines Freds einverstanden :-)...
Phantasielos wie ich bin, suche ich nach einigen Aufgaben zum Lösen. Damit ich das gelernt gleich mal Üben kann.
Zwar gibt es auch Kursmaterialien - aber je mehr desto besser.
Im Datennirvana gibt es bestimmt eine tolle Ideensammlung, mit denen man Grundlagen üben kann.

Hat jemand einen Tipp?
Probier doch mal kleine Programme aus die irgendwas "nützliches" tun, auch wenn du sie evtl. nie mehr benutzen wirst.

Z.B. ein Script dass von einer Webseite bestimmte Dateien herunterlädt. Wenn das klappt kann man das ganze erweitern und sich selber Beschränkungen auferlegen (nur jede 2te Datei runterladen, nur runterladen wenn der Dateiname mit einer Zahl/einem Buchstaben beginnt o.ä.).
Wenn die Interaktion mit einer Webseite schon zu hoch ist, vllt. irgendwas Klitzekleines wie ein Tic-Tac-Toe Spiel.
Da kann man damit anfangen dass man quasi beide Spieler selber über die Konsole steuert. Da kann man schon ein bisschen Zeit reininvestieren... Am Anfang programmiert man "nur" das Spielfeld und dass es ausgegeben wird, dann muss man überprüfen ob nicht schon auf dem gewünschten Feld ein X oder ein O ist und am Ende muss man noch herausfinden ob das Spiel schon zu Ende ist.
Dann kann man zum Beispiel später auch mal ausprobieren gegen eine "KI" anzutreten die einfach nur zufällig ihr Zeichen setzt.

Wenn man schon ein wenig weiter ist kann man sich auch an so Sachen wagen wie z.B. mal Conways Game of Life. Den Output kann man sich entweder direkt anzeigen lassen oder z.B. auch in eine Datei (oder mehrere) ausgeben. Ich denke da gerade z.B. an ein Script dem man die Größe des Feldes in X und Y Koordinaten, sowie z.B. den anfänglichen Grad der Befüllung (wie viel Prozent der Felder enthalten am Anfang Leben) mitgibt. Dann vllt. noch die Anzahl der Iterationen auch noch als Parameter.

Gibt sehr viel :-)
 

Ähnliche Themen

Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh