Hallo zusammen, ich weiß das in der Regel C, Java oder Python sich gut eigenen, für IoT Anwendungen/ Geräte. Ich bevorzuge C. Das passt ganz gut, da ich mich als Ingenieur im Bereich eingebettete System bewege. Ich kann die Sprache für beide Zwecke nutzen. Ich bin auf den Gedanken gestoßen, dass JS sich eventuell ebenfalls für IoT Programmierung eignet. JS wird hauptsächlich für Webanwendungen genutzt. Würde es sich daher nicht ebenfalls für IoT Anwendungen eignen? Klärt mich bitte auf. Teilt euer wissen mit mir! LG
Du kannst es ja mal andersherum angehen, und versuchen ein IoT-System(*) zu finden, was ohne Javascript auskommt. Da wirst du dich schon sehr schwer tun. *) also das komplette Ökosystem, nicht nur einen minimalen Teilbereich.
Lebensberatung schrieb: > Bist du sicher dass du Ingenieur bist? *herangehender sollte es heißen. Sorry..
Ich frag jetzt mal andersrum: Was sind den so die Stärken und Schwächen von JS? Oder den anderen Sprachen? C ist streng typisiert und hat immerhin den Performance-Vorteil. Nachteil die manuelle Speicherverwaltung, damit verbunden das Risiko schlimmster Sicherheitsprobleme. Java und Python sind interpretiert bzw. laufen in einer Ausführungsumgebung, mit Speicherschutz/Garbage Collection. Es gibt viele Bibliotheken, Python hat da Pluspunkte im AI-Bereich, auch als System Glue Language. JS hat eine furchtbare, fehleranfällige Syntax. Nicht umsonst wurde TypeScript erfunden. Es läuft ebenfalls in einer VM, dank der Webbrowser gibt es inzwischen sehr effiziente VMs mit JIT, davon profitieren Frontend-Webanwendungen und im Backend Anwendungen wie NodeJS oder darauf basierende Anwendungen wie NodeRed. Die Frage ist: wofür willst du die Sprache verwenden? Für eine Benutzerschnittstelle? Im Webbrowser-Frontend ist JS/TS ok. Ein Web-Backend in C ist imho quatsch. Eine Steuerung von irgendwas, da kann C dagegen ganz gut passen. Es gibt nicht die eine Sprache. Wenn du C schon einigermaßen kannst stellt sich eher die Frage, was du als nächstes lernen möchtest.
> Die Frage ist: wofür willst du die Sprache verwenden? > Für eine Benutzerschnittstelle? Im Webbrowser-Frontend ist JS/TS ok. > Ein Web-Backend in C ist imho quatsch. Eine Steuerung von irgendwas, da > kann C dagegen ganz gut passen. Nun ich habe heute Scriptable entdeckt, womit man Widgets erstellen kann für das iPhone. Ziemlich Praktisch. Programmiert wird dort mit JS. Dafür würde ich ich es gerne lernen und mich mit auseinander setzen. Aber eine Sprache lernen, nur um es in diesem begrenzten Bereich zu nutzen erscheint mir nicht "lohnenswert". Wenn ich sie schon lerne, warum denn nicht direkt prüfen in welcher Hinsicht es mir noch nützlich sein kann, außer halt innerhalb der oben genannten App. Ich finde Hardware nahe Programmierung toll, IoT, Steuerung, Sicherheitssysteme etc.. doch in wie fern kann ich JS weiterhin für diesen Bereich nutzen. Mit Webentwicklung hab ich vorerst nichts am Hut. Das ist so bisschen mein Hintergedanke gewesen.
Hercules schrieb: > Ich bin auf den Gedanken gestoßen, dass JS sich eventuell ebenfalls für > IoT Programmierung eignet. C kann man auf einem Microcontroller mit sehr beschränkten Ressourcen verwenden. Das geht (sofern man ohne Netzwerk via tcp/ip arbeitet) schon mit ein paar hundert Byte RAM und ein paar kByte (Flash-)ROM. Wenn man einen IP-Stack dazu packt, kommt man aber mit 32 kByte RAM und etwas mehr Flash-ROM auch schon zurecht. Um JS auf einem Microcontroller laufen lassen zu können, bedarf es mehrere Größenordnungen fettere Ressourcen. Eine Größenordnung ist Faktor zehn.
Wenn man z.B. einem ESP einen Webserver (nur als Config) mitgibt, kann man schon einige Dinge clientseitig über JS erledigen lassen. Ob man dazu wirklich JS zu lernen sucht oder sich eine Idee aus den vielseitig aufgestellten Web-Examples anpasst (sieht im Grunde genommen fast wie C aus) - also ich kann kein JS, aber einen Canvas über ein paar JSON-Nachrichten zum Leben zu erwecken ist als C-Programmierer auch mit JS nicht wirklich eine Herausforderung.
Euro schrieb: > Wenn man z.B. einem ESP einen Webserver (nur als Config) mitgibt, kann > man schon einige Dinge clientseitig über JS erledigen lassen. Das ist was anderes als wenn man versuchen würde, JS auf dem ESP laufen zu lassen.
Wenn du Scriptable benutzen willst lern' halt ein bischen Java Script. Für das was du brauchst. Du musst ja nicht in dem stinkigen Ökosystem baden... (Ich bin da zugegeben etwas voreingenommen)
Hercules schrieb: > Dafür > würde ich ich es gerne lernen und mich mit auseinander setzen. Aber eine > Sprache lernen, nur um es in diesem begrenzten Bereich zu nutzen > erscheint mir nicht "lohnenswert". Beim Programmiersprachenlernen ist es wie beim Liebemachen. Weh tuts nur beim ersten, evtl. noch beim zweiten Mal. Wenn du mal 2 Sprachen sicher beherrscht wird es dir leicht fallen dich auf eine für dich neue Sprache zu adaptieren. Denn mal ehrlich, solange die Sprache nicht grundlegend andere Paradigmen implementiert ist über der Haube wenig Unterschied. Zwar wirst du, wenn du in Python so programmierst wie in C, evtl. nicht den elegantesten Code schreiben, aber ans Ziel kommst du trotzdem. Und mit der Zeit wirst du dann auch die Besonderheiten der neuen Sprache verinnerlichen und beachten. Lange Rede kurzer Sinn: weniger nachdenken, mehr machen. Fang an was umzusetzen, egal in welcher Sprache. Dein erarbeitetes Wissen wird nicht umsonst sein. Als natürlicher Partner von C/C++ erachte ich mittlerweile Python. JS geht aber genauso, auch für lokale Standalone-Anwedungen (siehe Node).
DerEinzigeBernd schrieb: > Das ist was anderes als wenn man versuchen würde, JS auf dem ESP laufen > zu lassen. Offensichtlich beinhaltet der Begriff "IoT" mehr als nur das Device. Entsprechend würde ich JS dort gar nicht suchen - zumindest nicht vorrangig.
Le X. schrieb: > Wenn du mal 2 Sprachen sicher beherrscht wird es dir leicht fallen dich > auf eine für dich neue Sprache zu adaptieren. Denn mal ehrlich, solange > die Sprache nicht grundlegend andere Paradigmen implementiert ist über > der Haube wenig Unterschied. Gehört das auch noch zu deiner Analogie? ;-) > Zwar wirst du, wenn du in Python so programmierst wie in C, evtl. nicht > den elegantesten Code schreiben, aber ans Ziel kommst du trotzdem. Und > mit der Zeit wirst du dann auch die Besonderheiten der neuen Sprache > verinnerlichen und beachten. Programmiersprachen sind meiner Erfahrung nach doch so unterschiedlich, dass der letzte Punkt durchaus sehr wichtig ist. Man kann recht schnell anfangen zu programmieren, aber brauchbare Programme kommen erst raus, wenn man die Eigenheiten der Programmiersprache kennt. > Lange Rede kurzer Sinn: weniger nachdenken, mehr machen. Ja. Etwas nicht zu lernen aus Angst, man könnte es nachher vielleicht nicht mehr brauchen, ist nicht sinnvoll.
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.