Welche Programmiersprache?

KLOD

Active Member
#21
@asc
Das war das, zu dem ich schrieb: "(Ich glaub' ich las da was, das muss ich mir erst noch angucken, ... . Ff.) "
Vielen Dank, ich werde mir das mir Rust und Go angucken.
 

Eldarius

Well-Known Member
#22
Hallo Leidensgenosse .
Ich bin auch erst seit einem Jahr wieder am Programmieren. Meine Basic Kenntnisse stammen auch aus den 80zigern .
Ich habe ganz einfach mit C angefangen und nach 6 Monaten recht gute Erfolge damit gehabt , Davon würde ich dir aber aus heutiger Sicht abraten . Du musst dich mit Hardware und Speicher auskennen.
Das gleiche hast du auch bei C++ nur das da auch noch das Objekt- Orientierte Programmieren dazu kommt.
Naja und C++ ist halt das bessere C woran man nix ändern kann.

Diese Probleme hast du aber in jeder Sprache die eine kann das und die andere kann anderes besser xD.
Mein Rat : lass dich nicht verunsichern ! Die Grund Konzepte sind in jeder Sprache gleich , Nur die Schreibart ist unterschiedlich.

Wenn du noch Basic kannst wird dir der Wiedereinstieg nicht schwer fallen . Du musst zwar reichlich umlernen aber dann fühlst dich schnell wieder wie zu Hause . Sachen wie Rechnen, For Next Schleifen und If else findest du überall wieder.

Es kommt halt darauf an was du machen willst .

Ich habe mich entschieden für :
C++ - weil ich später viel in der Industrie 4.0 machen will .
und
Java - weil ich später auch Handy-Programme zur Steuerung entwerfen will.

Schaue dir einfach mal an was die Sprachen können und was du machen willst ... fang an und der Rest kommt von alleine (mit reichlich Kaffee und dicken Augen xD ).
 
Gefällt mir: KLOD

Code

Well-Known Member
#25
Wie @Mat schon festgestellt hat
Das alles kann fast jede Programmiersprache bewerkstelligen (teilweise auch Excel). Nichts davon benötigt Maschinennähe
brauchst du eigentlich keine schwere Sprache.
Und wenn es hier schon hängt:
Auch hier ist mir der Compiler im Weg.
Nachdem meine erste Empfehlung eher auf den sehr ambitioniert klingenden ersten Post mit der Maschinennähe bezogen war, glaube ich langsam du bist mit einer möglichst schnell erlernbaren Programmiersprache für den Anfang viel besser aufgehoben. Alles was du zur Funktion von Computern wissen willst kannst du dir seperat anlesen, vieles ist im Internet leicht zu finden.
Daher meine Update-Empfehlung nimm eine gute aber einfache Sprache wie Python (ggf. auch java)
https://de.wikihow.com/Python-installieren
Egal für welche du dich bei der riesen Auswahl am Ende entscheidest, bei Fragen einfach fragen :)
Viel Erfolg
 

KLOD

Active Member
#27
Oh je,

eben las ich, was der Interpreter macht, zu Python steht geschrieben:
"Ein Interpreter ist ein Programm, das einen Quellcode im Gegensatz zu Assemblern oder Compilern nicht direkt in ausführbaren Code, also eine ausführbare Datei, wandelt, sondern den Quellcode einliest, analysiert und ausführt. Die Analyse des Quellcodes erfolgt zur Laufzeit des Programms. "

Wie komme ich an eine Programmiersprache, dessen Übersetzung einen - übersichtlichen - Assembler schreibt.
Also, zwischen Analyse und Ausführung, möchte ich in Assembler, den geplanten Arbeitsweg sehen.
LG KLOD
 

AGGROStar1991

Well-Known Member
c-b Experte
#29
Es gibt keine Programmiersprache die das Ziel hat lesbaren Assembler zu produzieren weil das Unsinn ist und technisch kaum zu stemmen. So ganz generell : verstehst du dass Compiler und Interpreter dafür da sind, damit niemand mehr Assembler schreiben muss? Und dass sie das Ziel haben an die theoretische Performance eines Assemblers heran zu kommen damit wirklich niemand mehr selbst ASM schreibt? Darum optimieren sie. Es wäre fundamental nicht im interesse eines Compilers "lesbaren Assembler" zu erzeugen und warum auch? Niemand will das. Es gibt keinen Grund einen Compiler zu betreiben um sich den Assembler anzusehen. Echt nicht, kein Stück.

Wie du lernen kannst wie ein Compiler arbeitet habe ich dir in ein paar wichtigen Stichworten längst dargelegt nach denen du hättest googlen können. Auch dass der Versuch, Compiler oder Betriebssysteme zu verstehen wenn man absolut keinerlei Plan von den Grundlagen hat zum Scheitern verurteilt ist.

Aber du bist bemerkenswert beratungsresistent : egal wie viele Leute die davon im Gegensatz zu dir irgendwas davon verstehen dir Tipps geben, du beharrst weiter auf irgendeiner Viertelwissens-Idee... Vielleicht aber auch nur vielleicht solltest du in Betracht ziehen erstmal auf die Experten zu hören anstatt dich in Bullshit zu versteigen.
 

asc

Well-Known Member
c-b Experte
#31
  • Was genau möchtest du denn programmieren?
  • Warum möchtest du gerade Hardwarenah programmieren?
  • Weißt du überhaupt was "Hardwarenah" bedeutet?
    • Wenn ja: Wie "nah" möchtest du denn an die Hardware ran?
    • Bis zum Treiber, Firmware oder Chipsatz?
  • Was genau stört dich an Compilern?
Im Grunde hört es sich so an als ob du direkt Maschinencode schreiben möchtest ...
 

KLOD

Active Member
#32
Hallo asc,

Du schreibst: . . .
"1. : Was genau möchtest du denn programmieren?"
Automatisierendes, Eingabe, Ausgabe, Periferie, Steuerungselemente, regeltechnisches Motorsteuerungen, Prozessor: Intern und Extern.

"2.: Warum möchtest du gerade Hardwarenah programmieren?
Weil es mir Spaß macht, - damit ich sehen kann, wie, was, - passiert.

"3.: Weißt du überhaupt was "Hardwarenah" bedeutet?"
Eigentlich, weiß ich zuwenig darüber und möchte mehr darüber lernen.

"3.a: - Wenn ja: Wie "nah" möchtest du denn an die Hardware ran?
Ganz nah. Alles was dazu gehört.

"3.b: Bis zum Treiber, Firmware oder Chipsatz?" Ja, alles.

"4.: Was genau stört dich an Compilern?"
Das sie was machen, was ich nicht verstehe.

Früher, hatte ich nur mit Hardware (besser gesagt Schützschaltungen bzw. Relais), gearbeitet. Auch da können Programme ablaufen.
Du schreibst: "Im Grunde hört es sich so an als ob du direkt Maschinencode schreiben möchtest ... ". Ja das klingt gar nicht so schlecht.
Ja.
LG KLOD
 

Zhavok

Well-Known Member
#33
Mit den Antworten und Kriterien bleibt dir eigentlich nur Assembler. Alles andere ist schon wieder zu weit weg. Und selbst wenn du Assembler programmierst, kannst du nie zu 100% sagen was genau jetzt jede Leiterbahn macht. Ich glaube wenn du es komplett zerlegen und begreifen möchtest, müsstest du dir selbst nen Prozessor bauen und den dann programmieren. Oder (Achtung jetzt wirds komplett abwegig) du schaust dir mal an wie Leute in dem Computerspiel Minecraft sowas bauen. https://www.youtube.com/watch?v=qJ83E8V18tQ
Hab schon Videos gesehen wo Leute Assembler auf diesen "Minecraft Computern" nutzen. Mit so etwas begreift man wahrscheinlich das Grundkonzept ganz gut.
 

asc

Well-Known Member
c-b Experte
#34
Du suchst nach C und hauptsächlich Assembler.
Und selbst hier gibt es Unterschiede (ARM/X86/AMD64/PPC ...).

Wenn du noch näher an die Hardware willst, also selbst Microcontroller flashen und auf nem Logikboard verdrahten, dann könntest du mit einem Arduino + Steckbrett deine Freude haben. Da gibt es viele Foren und Anlaufstellen im Internet.

Hier noch ein guter YouTube Kanal mit viel zu diesem Thema:
https://www.youtube.com/user/eaterbc/videos

Viel Glück und Spaß!
 

Code

Well-Known Member
#35
Also doch sehr ambitioniert :)
Interessant ist evt. für dich auch zum rumprobieren https://godbolt.org/
Compiler Explorer is an interactive online compiler which shows the assembly output of compiled C++, Rust, Go (and many more) code.

Dort kannst du in einer Sprache was schreiben:
Code:
int square(int num) {
    return num * num;
}
Und bekommst den assembly output:
Code:
square(int):
        push    rbp
        mov     rbp, rsp
        mov     DWORD PTR [rbp-4], edi
        mov     eax, DWORD PTR [rbp-4]
        imul    eax, eax
        pop     rbp
        ret
 

AGGROStar1991

Well-Known Member
c-b Experte
#37
"Ist ein Rad schneller oder ein Auto?"
Das ist keine Hardwarefrage. 2 Minuten auf Wikipedia würden dir verraten was Logikgatter sind und dass Flip-Flops eine mögliche Schaltung aus Logikgattern sind. Mal davon abgesehen dass du "schneller" nicht definiert hast. Es gilt üblicherweise als unhöflich, in Foren Fragen zu stellen die mit trivialster Recherchearbeit leicht zu beantworten wären.
 

KLOD

Active Member
#38
Hallo,
Entschuldigung, ich weiß es nicht; - auch nicht wie ich an die Datenblätter komme, - wie mach ich das?
Was ich mit: "schnell" meine ist, - wie schnell ein Flip-Flop oder ein Logigatter durchschaltet.

Gesucht habe ich, - habe aber nicht das Passende gefunden.
Wenn es trivial ist, könnte man wenigstens eine Antwort geben;
- das würde ich als höflich empfinden.
Wir Internet-Teilnehmer, sind nicht alle geistige Überflieger.
Einige kleine LINKS fände ich schön.
Vielleicht kann mich jemand anderer verstehen.
Also bitte ich nochmals um Entschuldigung.
LG KLOD
 

lord_haffi

Well-Known Member
c-b Experte
#39
Wenn es trivial ist, könnte man wenigstens eine Antwort geben;
Hat er ja
Flip-Flops [sind] eine mögliche Schaltung aus Logikgattern
Heißt, eine Flip-Flop-Schaltung besteht aus Logikgattern. Da ist die Frage, was schneller ist, ziemlich sinnfrei. Desweiteren kommt es für die Durchschaltungsgeschwindigkeit natürlich immer auf die Hardware an. Wir sprechen hier immerhin nur von theoretischen Konstrukten. Es macht natürlich einen Unterschied, ob du die Schaltung bzw. Logikgatter auf einem winzigen Mikrochip oder auf einem ein paar cm großem Steckbrett realisierst.

Das kann man auch alles wunderbar auf Wikipedia nachlesen (Logikgatter, Flip-Flop-Schaltung), wenn man kurz danach sucht; @AGGROStar1991 ist bei so Sachen, die man mit einfachen Google-Suchen schnell rausfinden kann, meistens etwas forsch, sieh es ihm nach ^^
 
#40
Hallo, Dankeschön für die Antwort. Ok.. Dann möchte ich die Frage anders stellen:
Wo kann man Datenblätter von diesen beiden zuvorgenannten Hardwarearten, mit zugehörigen Zeitangaben finden?
Leider hatte ich bisher noch nichts gefunden. LG KLOD
 
Oben