Zum Inhalt springen
  • 0

Powershell vs. Bash vs. Perl vs...


jk86

Frage

Ahoi,

ich mache gerade eine Ausbildung als FISI im 1. Lehrjahr bei einer Behörde. In meiner Abteilung machen wir ausschließlich Anwenderunterstützung, das Reinschnuppern in andere Abteilungen (Softwareentwicklung, Netzwerktechnik, Rechenzentrum) ist leider während der Ausbildung nicht vorgesehen. Sicherlich verhandelbar, aber nicht für längere Zeit, da wir Azubis ausgebildet werden die Personallücken in der eigenen Abteilung zu stopfen, die demnächst durch Pensionierung von Kollegen etc. entstehen werden. Trotzdem haben wir genug Raum, uns zu entfalten und eigene Interessensschwerpunkte zu bilden. Die Abteilung ist geteilt in einen Windows- und einen Linuxbereich, wir können uns also schon relativ vielfältig austoben. In der einen Stunde Server einbauen, in der nächsten ne Webseite fürs Intranet basteln...

Meine Aufgabe wird die Softwareverteilung (Windows), die Nutzerverwaltung und Ticketbearbeitung sein. Darüber hinaus will ich mich gerne in Linux einarbeiten, weil ich damit (außer für Freunde mal ubuntu eingerichtet oder so) noch nie was gemacht habe, die Philosophie dahinter aber sehr cool finde. Ob ich aber auch in der Linux-Ecke der Abteilung lande, wo ich doch (erstmal zumindest) für Windows eingeplant bin, weiß ich noch nicht.

Mit einem Kollegen habe ich OpenSuse auf einem Rechner in seinem Büro aufgesetzt, den ich remote erreichen kann. Darüber habe ich gestern ein bisschen Perl gelernt, geschrieben in vim (ja, das geht sicher eleganter, aber es geht ja auch um den Lerneffekt). Für einen anderen Kollegen, der mich in die Windows-Softwareverteilung einarbeitet, werden immer wieder mal kleine Scripte nötig, die mit Powershell und SQL gelöst werden. Und dann gibt's ja auch noch die Linux-Shell... da frage ich mich jetzt: Was lerne ich am besten zuerst? Welche Sprache böte sich noch so an (z.B. Ruby)? Wie kann ich entscheiden, welche Sprache für mich gerade am meisten Sinn macht und deshalb als erstes gelernt werden sollte, welche langfristig Sinn machen, welche ich mir eher zum "out of the box"-Denken anschauen könnte und welche völlig überflüssig sind für meine jetzigen Aufgaben?

Ich habe vor der Ausbildung ein bisschen in C und C++ programmiert (und möchte das als Hobby auch weiterhin tun - es waren kleine Sachen, bis einschließlich Funktionen und OOP-Basics, Vererbung beispielsweise aber nicht mehr). In der Berufsschule werde ich Java lernen. Also ich denke, der Aspekt "Programmieranfänger" spielt zwar noch eine gewisse Rolle, eine totale Anfängerin die noch nie eine Zeile Code geschrieben hat, bin ich aber auch nicht mehr. Wenn ich ein Buch über ne unbekannte Sprache in der Hand habe, blättere ich die ersten paar Kapitel meistens nur kurz durch und vergleiche in Gedanken mit C und C++.

Mit Perl habe ich mich jetzt nur einen Tag lang intensiv beschäftigt (bis einschließlich Arrays, Hashes und Kontrollstrukturen) und bin damit ganz gut klargekommen, gefällt mir. Powershell scheint mir da irgendwie weniger einsteigerfreundlich zu sein.

Was meint ihr?

Was macht am meisten Sinn, in welcher Reihenfolge, und warum?

Link zu diesem Kommentar
Auf anderen Seiten teilen

2 Antworten auf diese Frage

Empfohlene Beiträge

  • 0

Hallo,

als FISI wird man ja nur sehr wenig programmieren. Du wirst eher damit zu tun haben, Netzwerke zu administrieren. Also würde es sich eher lohnen, sich mit Kommandozeileninterpreter wie z.B. Powershell (Windows) oder Bash (Linux) auseinanderzusetzen, anstatt eine Programmiersprache (C, C++, Java, C#, etc.) zu lernen. Wenn du aber unbedingt auch noch eine Programmiersprache lernen möchtest und du schon mit C und C++ Erfahrung hast, kannst du dir auch mal Go anschauen. Das ist eine Programmiersprache von Google, die quasi als Nachfolger von C gilt und auch von der Person entwickelt wird, der damals mitunter C entwickelt hat. 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0

Je nach dem in welchen Bereich man als FISI arbeitet, muss man mehr oder weniger programmmieren. Ein Bereich in dem das sehr stark ausgeprägt ist, ist beispielsweise der Bereich Konfigurationsmanagement bzw. generell das Deployment von Maschinen auf virtuellen Infrastrukturen oder in der Cloud. Wenn man bspw. Software wie Puppet oder Chef einsetzt, ist es ganz normal, dass man da als Administrator selbst seine Module bzw. Recipes schreibt damit die Maschinen sich alle auf die gleiche Weise von Grundauf installieren und konfigurieren. Heute ist es auch oftmals notwendig, Windows und Linux Kentnisse zu haben. Um mal beim Beispiel des Konfigurationsmanagement Werkzeuges zu bleiben: Da laufen die Master Server auf Linux und die Server die eingebunden werden können auch Windows Server sein. Und dann wird es notwendig, überall zumindest Grundkentnisse zu haben. Software wie Chef oder Puppet benutzen Python bzw. Ruby, wenn man allerdings spezielle Sachen auf den Servern ausrollen will die es nicht bereits "fertig" gibt, muss man in seinen in Python bzw. Ruby geschriebenen Recipes und Modulen Powershellcode oder Bash Code einbinden. Das ist heute ganz normal.

Grundsätzlich würde ich erstmal jeden angehenden Administrator empfehlen, Powershell und Bash zu lernen. Damit werden heute einfach die meisten Skripte in jedem Unternehmen geschrieben und man kommt damit immer wieder in Berührung, wenn man kleine Dinge automatisieren will. Das würde ich mal als absolutes Minimum bezeichnen. Eben das Standard Handwerkszeug eines Administrators.

Weitere Sprachen die dann Sinn machen sind dann stark vom Kontext abhängig und man braucht dann oft auch nicht alles sondern nur eine gewisse Menge und arbeitet sich darin schnell dann auch "on the job" ein. Man entwickelt ja in der Regel keine Software als Administrator, sondern skriptet eben Abläufe und da kommt es darauf an, was man einsetzt. Setzt ihr Puppet ein, macht Ruby Sinn. Setzt ihr Chef ein, macht Python Sinn. Bist du für die Erweiterung von Nagios o.ä zuständig, macht Perl Sinn. Ich würde hier nicht anfangen einfach eine weitere Sprache zu lernen die man dann ggf. nie einsetzen wird, sondern mich mit interessanten Technologien aus dem Bereich Monitoring, Konfigurationsmanagement usw. beschäftigen und dann in die Sprachen schnuppern, die du brauchst, um die jeweilige Technologie völlig auszureizen bzw. auf deine Bedürfnisse anzupassen.

Alle Stellenanzeigen die ich bislang gesehen habe, geben einen Pool aus Powershell, Bash, Python, Ruby und Perl an. Wobei man da nie alle können muss, weil es wie gesagt immer auf den Kontext ankommt was für Technologien im jeweiligen Unternehmen benutzt werden.

Daher meine Empfehlung: Powershell und Bash. Der Rest kommt on the job.

 

Bearbeitet von Uhu
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Diese Frage beantworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...