Welche Programmiersprache soll ich lernen?


28.10.2021, 22:00

Am besten eine die ähnlich wie scl ist.

Z. B. If... Else .. And.. Or..... Then ... :=trur

3 Antworten

Das kommt jetzt natürlich ganz auf die Sparte an, wenn du reiner Programmierer sein willst dann Python.

Wenn du eher im Embedded Bereich arbeiten möchtest, sprich Microcontroller Programmierung dann C/C++ da führt in dem Bereich hald kein weg drann vorbei.

Natürlich kannst du aber auch mit anderen Sprachen wie C#, Java etc. recht hoch hinaus kommen, wobei es wie gesagt auf das Themengebiet ankommt.

Am bestbezahltesten sind Python-Programmierer. Das liegt schlichtweg daran dass Python in Data-Science genutzt wird (Informationen aus Daten saugen) und das ist eben das Hype-Thema schlechthin.

Python kann ich aber auch ungeachtet dessen empfehlen weil es von der Syntax her super intuitiv ist und man keine riesen großen Umwege gehen muss um Kleinigkeiten zu programmieren. Man ist sehr schnell am Ziel!

def eineFunktion(a,b):
   return a+b

summe = eineFunktion(5,5)

print(summe)
print(f"{a} + {b} = {summe}")

Outputs:

10
5 + 5 = 10

Man muss sich nicht mit Datentypen rumärgern und auch nicht mit Speichermanagement. Deine Variable wird niemals "voll" sein das das Progrmm abstürzen usw.

Wenn du allerdings Programmieren willst um zum Beispiel den PC besser zu verstehen um effizient & ressourcenschonend zu sein, dann bist du bei C/C++ besser dran. Da geht's halt gar nicht mal mehr um das Ziel sondern den Weg dahin. Wenn dein Programm 5% schneller rechnet dann sparst du einer großen Serverfarm vielleicht Tausende von Euro am Tag. Demenstprechend kann auch dein Gehalt aussehen. Allerdings sind solche Jobs echt selten. Da sitzen dann wahrscheinlich Leute die seit 30 jahren C++ und Assembler programmieren und jede Bibliothek auswendig kennen. Da musst du als Kind in den Topf mit dem Zaubercode gefallen sein :D


EnderLuca  25.12.2021, 20:46

Das durchschnittliche Gehalt ist laut der Stackoverflow developer survey bei 18 Sprachen höher als bei Python. Zudem will der FS nicht data science lernen sondern programmieren. Data Science ist ein hochkomplexes Thema was mehr mit Mathe zu tun hat als mit dem programmieren.

https://insights.stackoverflow.com/survey/2021#overview

0
PeterKremsner  25.12.2021, 18:38

Ganz ehrlich muss ich sagen, dass ich mich lieber mit Datentypen rumärgere und am Schluss die Garantie habe, dass da auch dieser Datentyp drinnen steht den ich erwarte als wie dass ich gar keine Datentypen habe.

Ich find zwar in Skriptsprachen zum schnellen basteln von kleinen Projekten so etwas vielleicht Sinnvoll weils einige Dinger kürzer schreiben lässt, aber generell ist mir eine stark typisierte Sprache lieber und meiner Meinung nach weniger Fehlerträchtig.

0
Kerschy21 
Beitragsersteller
 28.10.2021, 21:57

Was beteuted diese function?

0
Bujin  28.10.2021, 22:04
@Kerschy21

praktisch das selbe wie f(x) in Mathe. Die Funktion nimmt in dem Fall zwei Variablen und addiert diese. Das Ergebnis wird ausgespuckt. Und zwar dort wo man die Funktion aufgerufen hat (nicht bei der Definition).

def f(x):
   return x**2

print(f(5))

Output:

25

** steht in Python für "hoch".

0
Bujin  28.10.2021, 22:14
@Bujin

Wenn du mehrere x/y suchst um einen Graphen zu zeichnen kann du entweder traditionell eine Schleife benutzen:

y = []
for i in range(0,10):
   y.append(f(x))

#durchläuft die Schleife 10 mal für i-Werte von 0 bis 9
#append() hängt einer Liste einen neuen Wert an

print(y)

Output:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Einfacher geht das mit "mapping". Das ist eine Funktion die es dir erlaubt eine Liste von Werten in eine Funktion einzugeben die jeweils nur einen Wert nimmt.

y = list(map(f, x))

print(y)

Output:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Das nur um dir ein Gefühl dafür zu geben was dich so erwartet. Wenn du C++ lernen willst ist das nicht 100% anders, die Sprache ist aber viel weniger abstrakt. Also du musst wirklich für eine Variable zB. definitieren was da für ein Wert reinkommt.

int a = 5
a = 1.2545

Das würde einen Error ausspucken weil "a" nur Integer (Ganze Zahlen) als Werte annimmt. Bei Python musst du dir um sowas überhaupt keine Gedanken machen.

0
Bujin  28.10.2021, 22:21
@Bujin

Kleiner Fehler:

y = list(map(f, x)

# geht nicht weil x nicht definiert ist

y = list(map(f, range(0,10)))

# so geht's

range() ist eine interne Funktion die einfach nur eine List an Zahlen zwischen in dem Fall 0 und 10 ausgibt. Du könntest das auch manuell machen:

x = [0,1,2,3,4,5,6,7,8,9]
y = list(map(f, x)

Das geht auch!

0
Bujin  28.10.2021, 22:45
@Kerschy21

PS. If... Else .. And.. Or..... Then ... das gibts in jeder Sprache.

if a > b:
  print("a ist größer als b")
elif a < b:
  print("a ist kleiner als b")
else:
  print(a ist gleich b)

anderes Beispiel:

if a == b or a == c:
  print("a is gleich b oder c")
if a == b and a == b:
  print("a ist gleich b und c")

Solche Bedingungen sind ja die Grundlage einer jeden Sprache :)

0

JavaScript mMn

Woher ich das weiß:Studium / Ausbildung

Bujin  28.10.2021, 22:39

Ansich ist JavaScript nicht schlecht vor allem weil man damit auch Windows Apps programmieren kann. Meistens wird es aber im Netz benutzt. Dazu muss man leider sagen die Art von Webdevelopment ist echt mies bezahlt heutzutage weil quasi für alles schon irgendwelche Templates existieren und es immer einen gibt es es billiger macht. Zumal ja auch jeder JavaScript Code einer Website frei einsehbar ist. Hobbymäßig bestimmt gut aber zum weiterbilden für die Karriere gibt es meiner Meinung nach bessere Optionen.

1