Eine große Firma (>50k MA) hat für meinen Arbeitgeber eine große Anlage gebaut. Neben der SPS gibt es eine PC-basierte Software, über die sich das System bedienen lässt. Diese ist vollständig in Visual Basic programmiert. Viele Codefragmente sind noch aus den 90ern. Der Programmierer ist offensichtlich damals damit eingestiegen und hat für neue Projekte den alten Code immer wieder kopiert und angepasst. Im Laufe der Zeit hat er sich also eine eigene "Library" angelegt, die heute sein "Kapital" darstellt. Leider ist VB mittlerweile hoffnungslos veraltet, daher die Frage: Wenn ich heute als Softwareentwickler anfange und ich im Job totale Freiheit habe (Programmiersprachen, Systemumgebungen), welche Strategie ist da im Hinblick auf meine berufliche Zukunft am nachhaltigsten? Was ist euer Kapital? Wie meistert ihr die Herausforderung des technologischen Fortschritts? Ist Migration für euch ein Thema?
"Nachhaltig" ist das Gegenteil von Fortschritt, würde ich nicht machen.
C oder C++, vll. C# Möglich vieles als Lib schreiben. ORDENTLICHE Doku. wahrscheinlich statisch gelinkt, sonst hast halt probleme mit sich evtl. ändernde API. (also eine git laufen lassen).
Martin L. schrieb: > "Nachhaltig" ist das Gegenteil von Fortschritt, würde ich nicht machen. Gemeint war: Nachhaltig = nicht-arbeitslos
Martin L. schrieb: > "Nachhaltig" ist das Gegenteil von Fortschritt, würde ich nicht > machen. Der war gut... Zum Thema: Wenn Du alle drei Jahre den Job wechselst, überrollen Dich Deine Altlasten eher selten. Du kannst Dich allerdings auch in manchen Firmen zur Unsterblichkeit/ Unkündbarkeit mit genau diesen Altlasten hocharbeiten. Wenn es Dir gelingt, Dein kompliziertes, fehleranfälliges und unwartbares Programm in den produktiven Einsatz einzuschleusen, bekommst Du auch bestimmt eine Inventarnummer, so dass Dich der Vertrieb gleich mit auf die Ersatzteilliste packen kann.
CleanCoder schrieb: > Was ist euer Kapital? Die Erfahrung wie man Projekte angeht, wie man Probleme löst und Codeschnippsel die man immer wieder braucht. Sprache ist sekundär wenn man weiß wie das Problem gelöst wird kann man das in jeder Sprache machen. Normal ist durch den Arbeitgeber vorgegeben was zu nehmen ist,
gibts hier auch schrieb im Beitrag #4203500: > Also möglichst viele unnütze Zwischenklassen und noch mehr > Zwischenschichten und jede Schicht wird noch mal durch zig Design > Patterns gegliedert inkl. komplexer Klassenstruktur wie z.B. zig Logiken > in n Oberklassen auslagern, selbst wenn die Oberklasse nur 1-2 mal in > einer Subklasse gebraucht wird und sehr viel generisches Coding, wo man > ohne debuggen kaum versteht was da überhaupt gemacht wird. Widerspricht deinem Ansatz 'schönes Coding'. Guter Code erklärt sich fast von selbst. Und prinzipiell ist es richtig: mit gescheitem Refactoring lässt sich mehr erreichen. Sind aber Erfahrungswerte, die auch gemacht werden müssen. > Sowas ist > heute der Trend. In so einem Coding kann man nicht mal eben ein Feld > hinzufügen, neeein da muss man erst zig Klassen erweitern und in allen n > Schichten entsprechende Anpassungen vornehmen bevor das geht. So dauern > auch einfache Entwicklungen sehr lange. Hast du nen Haufen Matsch als softwaretechnische Grundlage, Misch-Masch von C und C++ mit wildester Pointer-Jongliererei, Riesen-Anforderungen zu stemmen und 'nen utopischen Zeitplan - dann kann das Projekt nur prototypischen Charakter haben. Selbst das beste Refactoring kostet Zeit.
Programmiersprache, Libraries und Betriebssystemplattform wählen, die zu den verbreitesten, etabliertesten und freiesten Standards gehören. Was vor 20 Jahren mit C/C++ und ihren Standardlibraries, und für die Unix/Linux-Plattform geschrieben wurde, dürfte sich auch heute noch compilieren und laufen lassen. Und vermutlich auch noch in 20 weiteren Jahren. Kleinere, firmenabhängige Produkte wie VB, Java oder C# werden vermutlich irgendwann durch etwas anderes ersetzt. Zusätzlich würde ich strikte zwischen der Anwendungslogik und der "Peripherie" (GUI, Netzwerk, Datenbankanbindung, ...) trennen. Das ist alles Zeugs, das irgendwann veraltet, während Code in C/C++ vermutlich auch in 100 Jahren noch gleich aussieht.
CleanCoder schrieb: > Wenn ich heute als Softwareentwickler anfange und ich im Job totale > Freiheit habe (Programmiersprachen, Systemumgebungen), welche Strategie > ist da im Hinblick auf meine berufliche Zukunft am nachhaltigsten? > Was ist euer Kapital? Hirn und Erfahrung. > Wie meistert ihr die Herausforderung des > technologischen Fortschritts? Kommt auf das Projekt an. > Ist Migration für euch ein Thema? Jeden Tag steht einer auf der Matte mit seinen Altlasten. Z.B. SPS-Heinzen mit VNC-Gemurkse als Frontend, sowas wollen die auf Kunden loslassen und wundern sich dass das keiner haben will. Wenn es die Anforderungen zulassen: Als Webanwendung ohne sterbende Plugins Ich mach fast nur noch Webanwendungen, ist dann von Haus aus schon von jedem Rechner aus nutzbar, Handy, Tablett, alles kein Problem. Unterschiedlche GUIs und Sprachversionen z.B. für rechts nach links Sprachen,... kann jeder Browser von Haus aus, superflexibel per Stylesheets anpassbar. Alles was irgendwie mit Netzfunktionalität zu tun hat (Logs per Email, speichern in mehreren DBs weltweit verteilt, verschlüsselte Verbindungen,...) sowas sind im Webentwicklungsbereich Abfallprodukte und schnell implementiert. Wer heute noch mit klassischen GUI-Toolkits Anwendungen entwickeln muss die entspr. Funktionalität wie oben aufweisen muss hat mein tiefstes Beileid.
CleanCoder schrieb: > Leider ist VB mittlerweile hoffnungslos veraltet Das war offensichtlich sehr nachhaltig. Sogar Sachen aus den Neunzigern werden darin heute noch verwendet, statt daß sie verschwenderisch mit human resources schlechter noch mal neu entwickelt werden, bloss weil EINE MODE sich ändert. > Wenn ich heute als Softwareentwickler anfange und ich im Job totale > Freiheit habe (Programmiersprachen, Systemumgebungen), welche Strategie > ist da im Hinblick auf meine berufliche Zukunft am nachhaltigsten? Was Hochproprietäre Dinge lernen und benutzen, das kann dann bis zu deiner Rente kein anderer. Der hat's richtig gemacht: > die heute sein "Kapital" darstellt ich kenne das Programm nicht, weiß aber, daß man auch in VB sehr übersichtliche Programme schreiben kann, die einfach wartbar sind (deutlich besser als in Cobol oder Fortran) Manche Systeme verwenden VB als interne Skriptsprache (beispielsweise Mach3 CNC) . Die aktuelle Mode wie Python oder Ruby sind jedenfalls nicht besser, sondern eher mehr Verhau.
Freelancer Jack schrieb: > Wenn es die Anforderungen zulassen: Als Webanwendung ohne sterbende > Plugins Ich glaube inzwischen auch, dass das wohl die nachhaltigste Möglichkeit ist. HTML und Javascript sind ja sehr etablierte Standards und es gibt viele virtuelle Maschinen, die den Standard unterstützen. Außerdem wird es von jedem halbwegs modernen System unterstützt. Und man hat eine enorme Flexibilität. Inzwischen lässt sich ja auch fast jede Sprache auf Javascript übersetzen. Man kann also z.B. auch alten C-Code weiter verwenden. Auch Interpreter in anderen Sprachen (z.B. Python) laufen auf der "virtuellen Maschine".
Inschenör schrieb: > HTML und Javascript sind ja sehr etablierte Standards Prust, komm du mal und versuche eine WebSeite von NCSA Mosaic auf einem aktuellen Browser darzustellen, oder überlege warum es so was gibt http://windows.microsoft.com/de-de/internet-explorer/use-compatibility-view und wundere dich nicht, wenn dein Smartphone leider nicht in der Lage ist, eine lesbare Seite darzustellen, die du schon auf dem Desktop gesehen hast. Gerade HTML ist ein übler Verhau, bei dem nicht nur Neues hinzuerfunden wird, sondern Bestehendes verändert oder weggelassen wird und absolut nicht zukunftstauglich.
Michael B. schrieb: > Inschenör schrieb: >> HTML und Javascript sind ja sehr etablierte Standards > > Prust, komm du mal und versuche eine WebSeite von NCSA Mosaic auf einem > aktuellen Browser darzustellen, oder überlege warum es so was gibt > http://windows.microsoft.com/de-de/internet-explorer/use-compatibility-view > und wundere dich nicht, wenn dein Smartphone leider nicht in der Lage > ist, eine lesbare Seite darzustellen, die du schon auf dem Desktop > gesehen hast. Das sind alles keine Probleme des Standards sondern der Implementierung in den Browsern. Es ist doch wohl bekannt dass IE gerne eigene Wege ging und den Standard eben NICHT korrekt umsetzte. Heute ist das Problem allerdings weitgehend aus der Welt. > Gerade HTML ist ein übler Verhau, bei dem nicht nur Neues hinzuerfunden > wird, sondern Bestehendes verändert oder weggelassen wird und absolut > nicht zukunftstauglich. Dafür funktioniert das Web aber erstaunlich gut oder nicht? Dein Post ist absolut gehaltlos und lediglich HTML gebashe. Aber dein Nick sagt ja schon alles. Nomen est Omen.
:
Bearbeitet durch User
Ich glaube ihr habt die Frage ALLE falsch verstanden: CleanCoder schrieb: > Wenn ich heute als Softwareentwickler anfange und ich im Job totale > Freiheit habe (Programmiersprachen, Systemumgebungen), welche Strategie > ist da im Hinblick auf meine berufliche Zukunft am nachhaltigsten? Was > ist euer Kapital? Wie meistert ihr die Herausforderung des > technologischen Fortschritts?... Ich betone nochmal: CleanCoder schrieb: > welche Strategie ist da im Hinblick auf meine berufliche Zukunft am nachhaltigsten? Die Strategie ist ganz klar: -Programmiersprache nehmen, die sonst keine alte Sau kann. -Unleserlichen Code ohne Ende schreiben, den nur DU verstehst. -Am besten klingonisch dokumentieren! -Dazu noch so spässchen einbauen wie
1 | #define 5 2
|
-> Dannach bist du für dein ganzes Leben unkündbar, wenn die Firma mit der SW Geld verdienen will. Und wenn du ein gutes Arbeitszeugnis wg. Wechsel willst, dann kriegst du das auch(musst halt dafür ne Doku oderr so schreiben). ->ABER: so sollte es eigentlich nicht laufen dürfen, da du beim ersten Code-Review fristlos gekündigt werden solltest. Wenn es sowas aber nicht gibt, du deine V1.0 releasen kannst, die verkauft wird, dann mein lieber Freund bist du ein gemachter Mann!
ffff schrieb: > ->ABER: so sollte es eigentlich nicht laufen dürfen, da du beim ersten > Code-Review fristlos gekündigt werden solltest. Wenn es sowas aber nicht > gibt, du deine V1.0 releasen kannst, die verkauft wird, dann mein lieber > Freund bist du ein gemachter Mann! Wahre Wort. Musste erst herzhaft lachen, aber es ist leider Fakt. Ich bin in meinem Unternehmen als Code-Reviewer zuständig. Nahezu gibt es in jedem Commit schwerste potenzielle Fehler. Von den stylistischen Sachen mal abgesehen. Interessieren tut's keine Sau.
Michael B. schrieb: > Prust, komm du mal und versuche eine WebSeite von NCSA Mosaic auf einem > aktuellen Browser darzustellen, oder überlege warum es so was gibt Das war vielleicht etwas falsch ausgedrückt. Natürlich gibt es verschiedenartige Implementierungen. Ich wollte eigentlich nur sagen, dass JavaScript und HTML unheimlich verbreitet sind und von mehreren Herstellern gepusht werden. Michael B. schrieb: > Gerade HTML ist ein übler Verhau, bei dem nicht nur Neues hinzuerfunden > wird, sondern Bestehendes verändert oder weggelassen wird und absolut > nicht zukunftstauglich. Das hat doch mit zukunftstauglich nichts zu tun. Zukunftstauglich heißt für mich, dass eine Weiterentwicklung statt findet. Und da gibt es im Moment wohl keine Sprache, die sich schneller weiterentwickelt. Dass so eine Weiterentwicklung auch holprig verläuft, ist eigentlich logisch. Und dass sich nicht unbedingt die technisch eleganteste Lösung, sondern dass es hin und wieder sogar genau umgekehrt ist, sollte eigentlich auch bekannt sein.
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.