Wo ist der Unterschied sind die Vorteile / Nachteile zwischen Kotlin und Python?

4 Antworten

Kotlin und Python sind sehr unterschiedliche Sprachen! Beide sind objektorientiert, haben aber auch einen funktionalen Einfluss.

Python ist wesentlich langsamer, da es interpretiert ist, während Kotlin auf der JVM läuft, wo es JIT-kompiliert wird. Wenn du Python-Bibliotheken wie pandas, pytorch oder tensorflow verwendest, merkst du davon aber nichts, da diese eigentlich in C geschrieben sind; Python macht es relativ einfach, C-Funktionen aufzurufen. Daher ist Python auch sehr beliebt im Bereich von Machine Learning und Data Science.

Was die Sprache anbelangt: Python ist dynamisch typisiert, d.h. es werden keine Datentypen im Code angegeben [*]. Kotlin hingegen ist statisch typisiert, wo der Datentyp jeder Variable und jedes Feldes dem Compiler bekannt sein muss. Der Compiler nutzt Typinformationen, um das Programm zu optimieren. Der eigentliche Vorteil ist aber, dass Programmierfehler schnell bemerkt werden und behoben werden können. Zudem hilft statische Typisierung extrem bei der Autovervollständigung in einer IDE.

In Kotlin muss übrigens nicht jeder Datentyp explizit angegeben werden, da der Compiler Typinferenz beherrscht. Absolut notwendig sind Typen nur bei Funktionsparametern und manchmal bei generischen Funktionen.

Sowohl Kotlin als auch Python haben jedoch ein starkes Typsystem. Das heißt, es ist z.B. nicht möglich, einen String implizit in eine Zahl umzuwandeln oder eine Zahl als Boolean zu verwenden. Das ist gut, da dadurch Programmierfehler leichter zu finden sind.

Kotlin hat hat viele gute Verwendungszwecke: Android-Apps werden meist in Kotlin geschrieben, und auch bei Web-Services ist Kotlin eine beliebte Wahl. Manche verwenden es auch für Desktop-Anwendungen. Mit Kotlin/Native lassen sich auch iOS-Apps erstellen, und Kotlin/JS lässt sich sogar in JavaScript transpilieren. Kotlin ist dadurch sehr vielseitig einsetzbar.

Python ist v.a. für Data Science und Maschine Learning beliebt, wie ich bereits erwähnt habe. Auch wenn du mit Python theoretisch alles machen kannst, ist die geringe Performanz in der Realität oft ein Problem. Ich habe z.B. noch nie von einer Android-App gehört, die in Python geschrieben ist.

Der oft gepriesene Vorteil von Python ist, dass Python extrem einfach ist, und du damit sehr schnell Prototypen aus dem Boden stampfen kannst. Wenn du dann aber später feststellst, dass Python zu langsam ist, musst du den Prototypen möglicherweise in einer anderen Sprache neu schreiben.

[*] Ich habe erwähnt, dass Python dynamisch typisiert ist. Das ist mittlerweile nicht mehr ganz richtig. Inzwischen ist es möglich, Typen an manchen Stellen anzugeben. Eine IDE kann dadurch möglicherweise bestimmte Fehler frühzeitig erkennen. Das ist aber optional.

Woher ich das weiß:Studium / Ausbildung – Informatikstudium

Aoso subjektiv ich liebe Kotlin

Kotlin moderner statisch auf Basis der jvm dann mit Java (und groovy) 1:1 kompatibel. Schneller als python. Null safety etc.

Schau dir Mal das 100 Sekunden Python und Kotlin Video von fireship an haste ne nette zusammenfassung

Woher ich das weiß:Studium / Ausbildung – info studium
fraggantisch 
Fragesteller
 28.05.2022, 13:35

Eignet sich Kotlin garnicht für die Web Entwicklung? So lese ich es von BPPtheo heraus

https://www.youtube.com/watch?v=xT8oP0wy-A0

https://www.youtube.com/watch?v=x7X9w_GIm1s

0
CarinaSchoppe  28.05.2022, 13:38
@fraggantisch

Also an sich sagen wir naja doch schon. Siehe das springframework für Java. Und alles was für Java geht geht genauso gut in Kotlin und umgekehrt .

Python hat jedoch z.b. flask und äh Django für die webentwicklung.

Ernsthaft links?

Gibt bei YouTube ein: 100 Seconds PROGRAMMIERSPRACHE fireship

Da findest du ganz oben die passenden Videos der macht so 100nsekunddn zu fast allen

0

Kotlin ist primär für die App Entwicklung für Android und IOS gedacht. Wärend du dies in Python eher weniger machen kannst. Python ist zB für Künstliche Intelligenz, aber auch für Webentwicklung oder generelle Netzwerk Anwendungen ganz gut geeignet. Zudem ist Python einfacher zu lernen würde ich sagen und man findet viel mehr Beispiele im Internet als für Kotlin. Klar gibt es auch für kotlin web frameworks aber ich würde dann doch eher Python nehmen wenn du keine Apps entwickeln willst .

fraggantisch 
Fragesteller
 28.05.2022, 13:34

Python eignet sich weniger für die App Entwicklung?

Wieso eignet sich eigentlich sich Kotlin mehr für die App Entwicklung?

0
CarinaSchoppe  28.05.2022, 13:36
@fraggantisch

Naja weil z.b. Google Kotlin als Programmiersprache für Android ernannt hat (2018)

Kein Python Interpreter fürs handy existiert (wodurch eben kein Python auf'm Handy läuft)

2
Tea2Go  28.05.2022, 13:41
@fraggantisch

Das sind so die stereotypischen Meinungen dazu. Kurz um ist Kotlin meiner Meinung nach das bessere Java. Also alles was du mit Java machen kannst, kannst du auch mit Kotlin.

Bei Python ist die Community groß und somit die Möglichkeiten für Hobbyprogrammierer vielseitig.

Ich würde mir eher ein Schwerpunkt (App, SinglePage Applikation, etc.) raussuchen und dann schauen, was da sinnvoll ist an Sprachen und Frameworks

0
CarinaSchoppe  28.05.2022, 13:35

Du weišr schön dass Kotlin durch die jvm vollkommen für den Desktop bzw. Für alles wo ne jvm drauf ist gedacht ist.

0

Kotlin = Frontend, Appentwicklung

Python = Automatisierung, Backend