Welche Programmiersprache als naechstes!
-
Und was haben jetzt Arme und Nasen mit AirTrakes nächster Programmiersprache zu tun?
-
C++ verleitet zu unnsinnigem Code. Das ist das Problem. Komplex, aufgebläht und unelegant.
-
naja schrieb:
C++ verleitet zu unnsinnigem Code. Das ist das Problem. Komplex, aufgebläht und unelegant.
Das ändert sich zum Glück, wenn man C++ lernt. Was Anfänger mit C++ anstellen, ist nicht mein Maß.
-
naja schrieb:
C++ verleitet zu unnsinnigem Code. Das ist das Problem. Komplex, aufgebläht und unelegant.
-
Hmm, Assembler würde ich auch gerne mal lernen. Aber das Problem das ich dabei ist irgendwie immer habe : Es gibt irgendwie soviele Varianten, zumindestens habe ich das Gefühl. 8bit, 16bit, ... dann benutzen die einen mov src, dest die anderen mov dest, src, dort taucht aufeinmal eine variablendeklaration ala .ascii "HELLO WORLD" oder ähnlich auf, der eine callt MessageBox dadurch, dass er parameter in die register movt und dann nen interuptcall INT 80h macht (ist glaube ich linux ), der andere callt auf einmal einfach "MessageBox", ... .
Kurz um : Gibt es gute Bücher oder auch gerne online tutorials zu Assembler, die Ihr empfehlen würdet ?
-
<Platzhalter>*, ehr muß man nicht sagen und der Mod hier flippt grundlos aus, wie dieses Kind im Video:
http://www.youtube.com/watch?v=RKSj0Z0spqoWen ich respektieren soll, den muß ich ernst nehmen können, aber hier sag ich einfach LOL
Weihwasser = <Platzhalter>
-
AsmTuts? schrieb:
Hmm, Assembler würde ich auch gerne mal lernen. Aber das Problem das ich dabei ist irgendwie immer habe : Es gibt irgendwie soviele Varianten, zumindestens habe ich das Gefühl. 8bit, 16bit, ... dann benutzen die einen mov src, dest die anderen mov dest, src, dort taucht aufeinmal eine variablendeklaration ala .ascii "HELLO WORLD" oder ähnlich auf, der eine callt MessageBox dadurch, dass er parameter in die register movt und dann nen interuptcall INT 80h macht (ist glaube ich linux ), der andere callt auf einmal einfach "MessageBox", ... .
Das ist einfach nur die Frage welche Libraries man verwendet. Selbes Problem hast du in C++ wenn du zB von wxWidgets auf Qt wechselst oder ähnliches.
Kurz um : Gibt es gute Bücher oder auch gerne online tutorials zu Assembler, die Ihr empfehlen würdet ?
Ich habe mich früher mal mit http://win32assembly.online.fr/tutorials.html rumgespielt. Win32 Assembler - da die WinAPI eigentlich ganz Assembler freundlich ist habe ich damit rumgebastelt. Das Hauptproblem an Assembler ist einfach, dass die Libraries eklig zu benutzen sind
Das killt den Spaß.
-
Also, ich lass mal den n+1ten sinnfreien Flame pro/contra Sprache X außen vor. Ebenso irgendwelche abgedrehten Vergleiche mit Nasen und Ohren, die nichts mit dem Thema zu tun haben.
Zur Frage des OP:
Du bist dabei, eine imperative, unter Anderem auch objektorientierte, compilierte Sprache zu lernen. Du könntest jetzt folgende Richtugnen einschlagen:a) Eine weitere "höhere" Sprache lernen, primär wären da die C++-Nachkommen Java und C# oder auch die Interpretersprache Ruby zu nennen. Je nach Branche sind alle auch inder Industrie relevant.
b) Wie von anderen angesprochen Richtung "low level" gehen, um Verständnis für die Vorgänge hinter den Kulissen der höheren Sprachen zu bekommen. Das kann der angesprochene Assembler sein, oder als Kompromiss C, was von vielen als "Quasi-Assembler" benutzt wird.
c) Eine Scriptsprache, wie z.B. Perl, Bash oder auch Javascript. Vor allem perl wird häufig benutzt, um kleinere automatisch zu erledigende Aufgaben bei der Programmierung zu erledigen
d) Funktionale Sprachen wie das angesprochene Haskell oder einen der Lisp-Dialekte, z.B. Scheme. Auch wenn die eine oder andere funktionale Sprache durchaus auch im "Real Life" anzutreffen ist (z.B. eLisp im emacs), sind sie in der Industrie nicht so häufig anzutreffen und eher von akademischem Interesse (aber deshalb durchaus nicht uninteressant)In welche Richtung du gehen willst, hängt davon ab, was der Grund für deinen Wunsch ist, noch eine Sprache zu lernen. Wenn der Grund allerdings einfach nur ist, dass du gelesen hast, mehr als eine Sprache zu kennen (oder können? Ist ein riesen Unterschied...) sei cool, dann würd ichs an deiner Stelle erstmal lassen. Wenn man keinen wirklichen Grund hat, die zweite Sprache auch anzuwenden, dann lernt man sie auch nicht wirklich gut.
-
Hi,hi, ganz schön lange Online. :xmas1: :xmas2:
-
1:0 der Punkt geht an dich, s...
-
AsmTuts? schrieb:
Kurz um : Gibt es gute Bücher oder auch gerne online tutorials zu Assembler, die Ihr empfehlen würdet ?
Will nicht vom Threadthema abweichen aber trotzdem eine Buchempfehlung an dieser Stelle :
Und da ich direkt mit c++ angefangen hab wollte ich fragen welche Sprache ich als naechstes lernen soll.
Orientiere dich nach dem was dich interessiert und was du machen willst, informiere dich im Internet oder sonst wo darüber mit welcher Programmiersprache du am besten deine Ideen umsetzen kannst.
Wenn ich dann mal so frage darf welche Sprache kann man gut mit c++ verknüpfen?
Also so das man dann gute Vorteile hat?In erster Linie wahrscheinlich alle Programmiersprachen die eine ähnliche Syntax aufweisen, z.B. Java
-
314159265358979 schrieb:
Dass du C++ beherrscht, bezweifle ich mal. Erkläre mir
- Type Erasure
- Reference Collapsing
- Type Traitskeine Ahnung und kann trotzdem einen Hauch c++.
Musst mal bedenken, es ist schon ein unterschied ob man mal in der Fachliteratur technische Begriffe nachgelesen hat, oder das ding einfach mal viele jahre benutzt und weiß was man damit macht.
-
Kontrasubjekt schrieb:
314159265358979 schrieb:
Dass du C++ beherrscht, bezweifle ich mal. Erkläre mir
- Type Erasure
- Reference Collapsing
- Type Traitskeine Ahnung und kann trotzdem einen Hauch c++.
Musst mal bedenken, es ist schon ein unterschied ob man mal in der Fachliteratur technische Begriffe nachgelesen hat, oder das ding einfach mal viele jahre benutzt und weiß was man damit macht.Type Erasure hab ich auch noch nie gehört, stammt wohl eher aus der Java Welt. Reference Collapsing Zeugs aus dem neuen Standard, muss man nicht kennen, um C++ zu können, wird doch immer noch nicht vollständig unterstüzt. Type Traits: is_pointer usw.
-
Kontrasubjekt schrieb:
Musst mal bedenken, es ist schon ein unterschied ob man mal in der Fachliteratur technische Begriffe nachgelesen hat, oder das ding einfach mal viele jahre benutzt und weiß was man damit macht.
Beides ist nicht dasselbe wie "beherrschen". Ich kenn Leute, die haben 10 Jahre professionell C++ programmiert und wissen nicht, wann man einen Destruktor braucht und wie man diesen korrekt implementiert.
-
Stimmt, aber nicht wissen wann man einen Destruktor braucht ist schon was anderes als Fachbegriffe nicht kennen. Wenn sich das jetzt echt aus dem c++ Standard und Java-Trendwörtern zusammensetzt, und dann einer hergeht und sagt wer das nicht gehört hat hat keinen plan, dann sitzt der schon auf nem hohen ross. Mit der coolness kann ich nicht mithalten, brb fortran.
-
314159265358979 schrieb:
Dass du C++ beherrscht, bezweifle ich mal. Erkläre mir die folgenden Begriffe, möglichst ohne zu Googeln oder gar zu kopieren:
- Template Meta-Programmierung
- Type Erasure
- Reference Collapsing
- Allokator
- Smartpointer
- RAII
- Type TraitsFalls dir kein einziger davon etwas sagen sollte, kannst du nicht einen Hauch C++.
Wenn er in C++ Programme schreiben kann, die seinen Erwartungen gerecht werden, dann kann er C++.
-
Kann 314159265358979 mal Type Erasure erklären?
-
War so klar, dass ihr wieder alle auf mich geht. Fickt euch doch. Ich brauche euch nicht.
-
Naja, bis auf Reference Collapsing und vielleicht Type Erasure sollte man aber schon die von PI genannten Begriffe kennen und (halbwegs) verstehen.
Da der OP nach eigener Aussage keinen dieser Begriffe kennt, sind seine C++ Kenntnisse wohl auch nicht sonderlich gut, weswegen es unsinnig ist sich jetzt schon mit einer neuen Sprache zu beschäftigen. Am Ende kann er von allem etwas, aber nichts richtig.
Wenn er in C++ Programme schreiben kann, die seinen Erwartungen gerecht werden, dann kann er C++.
Nein, dann kann er C++ Programme schreiben, die seinen Erwartungen gerecht werden. Niemand würde behaupten man könne Englisch sprechen, wenn man gerade mal nach dem Weg fragen kann.
Was es braucht um C++ zu können ist zwar undefiniert, aber Smartpointer nicht zu kennen schließt (modernes) C++ zu können aus.
-
Z schrieb:
Wenn er in C++ Programme schreiben kann, die seinen Erwartungen gerecht werden, dann kann er C++.
Oder hat sehr schlichte Erwartungen.