Hi Seid meiner Schulzeit habe ich Python gelernt.Nun ist noch im Studium Java bzw Kotlin dazugekommen. Nun überlege ich noch eine 3 Sprache zu lernen, oder würde es für mich als Elektrotechnik Student mehr mich weiter in Python / Kotlin/Java zu vertiefen? Gruß Tobias
Ich werfe mal Rust in Raum. Systemprogrammiersprache so wie C und C++, aber ohne deren Nachteile. Rust ist mittlerweile ebenfalls fuer viele Mikrocontroller verfuegbar, und die gesamte Toolchain ist sehr durchdacht und fuer alle gaengingen Betriebssysteme verfuegbar.
1 | Rust is a systems programming language that runs blazingly fast, |
2 | prevents segfaults, and guarantees thread safety. |
https://www.rust-lang.org/en-US/
python-java-kotlin <> E-Technik Wenn, dann Assembler, C, IEC, und Dot-Net (kommst du mit java ja ran) Im Ernst: es gibt da nicht eine Sprache, du wirst da ständig dich mit was neuem auseinander setzen müssen. In dem Bereich wird "Standard" meist mit "t" am ende geschrieben. cu zero
Lern C++ für den Embedded Bereich. Tut man sich aber nur an C++, wenn man masochistisch veranlagt ist. C# für den PC Bereich. Wenn C++ aber gut kannst dann ist alles andere wie Kindergeburtstag. Python, Java und JavaScript kannste in Tonne klopfen um es leicht provokativ zu sagen.
Tobias schrieb: > Seid meiner Schulzeit habe ich Python gelernt.Nun ist noch im Studium > Java bzw Kotlin dazugekommen. Nun überlege ich noch eine 3 Sprache zu > lernen, oder würde es für mich als Elektrotechnik Student mehr mich > weiter in Python / Kotlin/Java zu vertiefen? Du solltest jetzt zuerst Deutsch lernen.
Setze eher auf Architektur und Stilmittel. Designpattern sind in jeder Sprache gleich. Sprachen leben, sterben und kommen neue hinzu. Designpattern bleiben.
Ade schrieb: > Setze eher auf Architektur und Stilmittel. > > Designpattern sind in jeder Sprache gleich. > > Sprachen leben, sterben und kommen neue hinzu. > > Designpattern bleiben. richtig ich denke C und VB als Grundlagen reichen. Syntax bleibt dann in allen Sprachen entweder auf VB (alle VB Abkömmlinge) angelegt oder an C (C++,C,CNet, Java, Javascript) oder an beide wie z.B. PHP.
Wenn du schon Java lernst, dann versuche dein Verständnis über Objektorientierung, Vererbung und deren Möglichkeiten zu vertiefen. Das erleichtert vieles, und diese Techniken sind von der konkreten Sprache zumindest einigermaßen unabhängig. Das Buch Entwurfsmuster von Kopf bis Fuß kann ich dir da sehr empfehlen. Ansonsten: lerne Assembler. Z.B. für AVRs. Da lernst du dann auch, was unter der Oberfläche so abgeht. Und was für ein Aufriß manche augenscheinlich einfache Operationen nach sich ziehen. Selbst wenn du nie praktisch in ASM programmierst, helfen dir diese Kenntnisse weiter (und von wievielen Sprachen kann man das schon so behaupten). Ob man sich heute noch C++ antun muß wenn man es nicht direkt braucht...manchmal überlege ich ob ich mir das auch mal ansehe, bisher habe ich den Gedanken jedesmal wieder verworfen. Mit Assembler, einfachem C, Java und gelegentlich VBA bin ich eigentlich recht gut bedient. (Vor allem, da ich sowieso eher Hardware baue.) Rust würde ich mir da schon eher ansehen, für AVR und STRM32 scheint es das ja zu geben.
C/c++ für den Controller und eine Skriptsprache deiner Wahl für das drumherum. Ich werfe Mal noch Matlab in den Raum. Damit machen wir fast alles was nicht auf dem Controller läuft.
Moin, Kommt mir irgendwie vor, wie wenn der angehende Autoschrauber meint, er koenne jetzt gut mit 10er, 13er und 17er Gabelschluessel umgehen, welche Groessen er denn jetzt sinnvollerweise noch lernen sollte. Wie es beim Gabelschluessel irrsinnig praktisch ist, wenn der in seiner Groesse zur Schraube/Mutter passt, die gerade angezogen/gelockert werden soll, ist's auch bei der Programmiersprache irrsinnig praktisch, wenn die zum Problem passt, das geloest werden soll... Gruss WK
Ade schrieb: > Python, Java und JavaScript kannste in Tonne klopfen um es leicht > provokativ zu sagen. Warum? Klar, langsamer sind die schon, aber für den PC reicht es ja trotzdem locker. Ich habe selbst mal in C(++) programmiert, hatte dann aber die Schnauze voll, um es mal auf Deutsch zu sagen, immer über irgendwelche Kleinigkeiten zu stolpern, gerade bei GUIs ist es echt eine Pest mit C(++). Bin dann zu HTML/JS/CSS gegangen, schön easy, nur für uCs geht JS halt nicht. Ivo
Lern die grundsätze und versteh die konzepte und unterschiede. Eine prozedurale sprache - C Eine objektorientierte sprache - C# Und als gut gemeinten tipp: Nimm von java nur die basics über objektorientierung mit, und vergiss sie, sobald du kannst.
...und viel wichtiger, als den richtigen Gabelschlüssel zur richtigen Mutter zu haben, ist es, zu wissen, wie man einen Gabelschlüssel ansetzt, wie man erkennt, dass er zu der Mutter passt, und wo man passende Gabelschlüssel (oder andere) herbekommt. Will sagen: Nicht an der Programmiersprache festhalten. Verschiedene Programmier-Paradigmen lernen. Überblick über verschiedene Programmiersprachen verschaffen. Und dann je nach Problemstellung und Plattform entscheiden. Die Syntax und die Standardbibliothek kannst du dann on-the-project lernen. MfG, Arno
dunno.. schrieb: > Eine prozedurale sprache - C > Eine objektorientierte sprache - C# Nein. Eine objektorientierte sprache - C++
Hört bitte mit diesem C# Unsinn auf. Das ist so eine Warze am Arsch der Entwicklergemeinschaft.
Was ist an C# eigentlich so schrecklich? Diese Sprache steht in meiner Liste dessen, was ich noch lernen will, nämlich noch deutlich über C++.
Gardener schrieb: > ... eine Warze am Arsch der Entwicklergemeinschaft ... Bitte keine Selbsteinschätzung.
Funkenzeuger schrieb: > LabView Dann bitte aber auch asbestummantelte Leitungen verwenden. Genauso praktisch, flexibel, robust und langfristig tödlich.
Gardener schrieb: > Hört bitte mit diesem C# Unsinn auf. Das ist so eine Warze am > Arsch der Entwicklergemeinschaft. Mach mal ne größere (GUI) Anwendung in C++, und dann eine in C# mit WPF. Nicht basteln und pfuschen, sondern so richtig. Dann wirst du erkennen, das deine aussage einfach nicht fundiert war.
Wühlhase schrieb: > Was ist an C# eigentlich so schrecklich? Diese Sprache steht in > meiner Liste dessen, was ich noch lernen will, nämlich noch deutlich > über C++. Sie ist neu (für den entwicklungsstand mancher leute) und daher per se schlecht. Natürlich ist sie nichts für den embedded-einsatz auf controllern. Aber wenn du Windows -anwendungen bauen willst, steht sie zu recht auf deiner liste weit oben.
Schau dir C, Rust und Lisp an. Jede der Sprachen hat ein paar besondere Designentscheidungen, mit denen man ganz unterschiedliche Strategien zur Programmentwicklung nutzen kann. Bei C hat man Funktionen, Strukturen, statische Typisierung und ansonsten nur das nötigste. Rust hat eine interessante Methode zur Speicherverwaltung. Und Lisp ist sowieso von einem anderen Stern. Am Schluss kann man dann idealerweise das gelernte von jeder Sprache auf jede andere übertragen. Mit Python und Java sind Interpreter/Skriptsprachen, OOP und Compretersprachen ja schon abgedeckt. Obwohl, bei Javascript hat man noch das interessante Prototypen basierte Vererbungssystem, und bei C++ kann man die Stärke von Templates mit denen von Generics und Reflection bei Java vergleichen. Am besten einfach alle Sprachen lernen. Wühlhase schrieb: > Was ist an C# eigentlich so schrecklich? 1) Es ist von Microsoft 2) Es verwendet das .NET Framework 2.1) .NET hat Telemetrie eingebaut 2.2) Das übersetzte zeug ist kein nativer Code und läuft in einer VM, ähnlich wie Java 2.3) Anders als einem viele glauben machen wollen, ist die Portabilität von C# und .NET Anwendungen in der Regel miserabel 3) C++ ist schon überladen, aber C# packt ähnliches nochmal drauf. Das einzig gute, was ich daran finden kann, ist dass es nicht ganz so grauenhaft wie Objective-C++ von Apple ist.
Wenn Du hinsichtlich "Programmieren" hardware-orientierte bzw. Embedded-System-Programmierung meinst, solltest Du Richtung C/C++ denken. Gerade in Applikationen, die Zuverlässigkeit fordern, nutzt man nicht jedes neue "Spielzeug", das irgendwo am Markt aufpoppt, sondern verläßt sich auf das, was bekanntermaßen funktioniert - das sind C und C++. Es gibt eigene C-Code Design Rules von der NASA, MISRA usw. Bzgl. Hardware-Nähe: Natürlich kann man mit AVR oder PIC-Controllern etwas machen, aber anspruchsvolle Anwendungen mit Rechenleistung benötigen sinnvollerweise 16 oder 32 bit. Ich arbeite zB. mit dem MSP430F5438A und komme v.a. bei Filterfunktionen an die Grenzen - manchmal wäre da der STM32 etwas schöner.
> Nun überlege ich noch eine 3 Sprache zu lernen, Wow, du bist ja total der Überflieger. Dein Ernst??? Man nimmt für jedes Projekt die Sprache*n*, die optimal für jeden Teilaspekt sind. C++ für das Grundgerüst und das GUI, Assembler für performancerelevante Kernfunktionen, VHDL oder Verilog für hardwarenahe Logik, Python, Lua oder VB wenn der User Funktionen skripten soll, evtl. Java um auch den ewiggestrigen einen API-Wrapper für ihre Lieblingssprache zu bieten, Scala und Go für massiv parallele Sections, wenn man das nicht nativ mit OpenMP und MPI oder Alternativen hinbekommt, Javascript fürs Web-GUI, Erlang, Ocaml, Lisp und Prolog im KI/Linguistik-Bereich usw. Wenn du während des Studiums nicht in 90% der genannten Sprachen ein Projekt erwiesenermaßen erfolgreich abgeschlossen hast, kannst du deine E-Technik/Informatikzukunft an den Nagel hängen. Die restlichen 1-2 Sprachen kannst du dann bei Bedarf schnell dazulernen.
>Wenn du während des Studiums nicht in 90% der genannten Sprachen ein >Projekt erwiesenermaßen erfolgreich abgeschlossen hast, kannst du deine >E-Technik/Informatikzukunft an den Nagel hängen. Wow, du bist ja total der Überflieger.
Egal ob C C++ oder Csonstwas. Da bin ich in BASCOM schon lange fertig.
P.Loetmichel schrieb: > Egal ob C C++ oder Csonstwas. > > Da bin ich in BASCOM schon lange fertig. Darum benutzen ja auch ca. 99,758 % der Profis Bascom.
Bürovorsteher schrieb: > P.Loetmichel schrieb: >> Egal ob C C++ oder Csonstwas. >> >> Da bin ich in BASCOM schon lange fertig. > > Darum benutzen ja auch ca. 99,758 % der Profis Bascom. Richtig.
Cedric schrieb: >> Nun überlege ich noch eine 3 Sprache zu lernen, > > Wow, du bist ja total der Überflieger. > > Dein Ernst??? Man nimmt für jedes Projekt die Sprache*n*, die optimal > für jeden Teilaspekt sind. Dazu gehört insbesondere aber auch der Teilaspekt "Gute Kenntnisse in der Programmierung mit dieser Sprache". > Wenn du während des Studiums nicht in 90% der genannten Sprachen ein > Projekt erwiesenermaßen erfolgreich abgeschlossen hast, kannst du deine > E-Technik/Informatikzukunft an den Nagel hängen. Bei Hochschulabgängern kann man in der Regel froh sein, wenn sie die Namen von 3 dieser Sprachen schon mal gehört haben. Aber ich bevorzuge auch jemanden, der zwei Sprachen richtig kann gegenüber jemandem, der schon in 10 Sprachen jeweils genau ein Projekt irgendwie hinbekommen hat.
:
Bearbeitet durch User
"Da bin ich in BASCOM schon lange fertig." dann versuch mal lazaurs/Pascal...damit gehts super.
:
Bearbeitet durch User
Rolf M. schrieb: > Dazu gehört insbesondere aber auch der Teilaspekt "Gute Kenntnisse in > der Programmierung mit dieser Sprache". Ahso. Ich dachte immer Wissen über Architektur und alles was über syntaktischen Zucker hinaus geht wären interessant. Sprachen kommen und gehen. Aber so kann man sich täuschen. Das coole ist, diese Java/c#/(...)-Fachitioten schaffen sich recht schnell von selber ab.
> Ich dachte immer Wissen über Architektur
Ja, lass dich von diesen H0nks mit ihrem in C++/C#/Java
zusammengekloeppeltem Sch..ss nicht blenden.
Der Ingenieur braucht einen guten Bleistift.
Fuer die Architektur.
Zum Codiern gibts genug Codierschweinchen.
Experte schrieb: > Rolf M. schrieb: >> Dazu gehört insbesondere aber auch der Teilaspekt "Gute Kenntnisse in >> der Programmierung mit dieser Sprache". > > Ahso. Ich dachte immer Wissen über Architektur und alles was über > syntaktischen Zucker hinaus geht wären interessant. Warum sollte sich das gegenseitig ausschließen? Dass man ein Werkzeug, das man intensiv benutzt, beherrschen sollte, heißt nicht zwangsläufig, dass alles andere uninteressant ist. > Sprachen kommen und gehen. Naja, ich programmiere jetzt seit ca. 25 Jahren in C und C++ und etwas weniger lange in Python. Bisher ist da kein Ende in Sicht. Kommt aber sicher auch drauf an, in welchem Bereich man unterwegs ist.
Alles Unsinn. Schlicht C ist immer noch sehr gefragt. Zumal C++ und C# objektorientierte Sprachen sind.
Für eine gewisse Sprachen-Diversifizierung von den genannten, würde ich etwas weg von Sprachen die auf virtuellen Maschinen laufen, eher hin zu hardwarenahen Sprachen mit echtem Maschinencode. Daher C++ oder eben C
dunno.. schrieb: > Mach mal ne größere (GUI) Anwendung in C++ Gibts doch kaum noch. Alles muss in einer Cloud und auf Applicationserver und/oder auf Container wie Docker lauffähig sein. Am besten betriebssystemunabhängig, virtualisier- und möglicht beliebig skalierbar. Zumindest wenn man professionell größere Projekte jenseits eines Entwicklerdesktops macht. Und schon ist c# ein Exot und Java das Mittel der Wahl! c# nutzt gar nichts wenn man Controller programmieren will, c++ dagegen sehr. c# ist nichts weiter als der Versuch von Microsoft Java nachzubauen, aber so daß nur Mircosoft daran verdient. Das hat gut geklappt für PCs mit Windows, aber darauf laufen immer weniger große Backoffice-Anwendungen.
Der Andere schrieb: > c# ist nichts weiter als der Versuch von Microsoft Java nachzubauen, > aber so daß nur Mircosoft daran verdient. Das hat gut geklappt für PCs > mit Windows, aber darauf laufen immer weniger große > Backoffice-Anwendungen. Besser hätte ich es auch nicht formulieren können! Java ist aber auch nicht mehr das mittel der Wahl. Es gibt genügend andere modernere Alternativen (wie z.b. nodejs, golang, kotlin) die mit verrosteten Java-Konzepten aufräumen. Womit nicht unbedingt die JVM gemeint ist. Da kann man durchaus noch einiges rausholen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.