FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs - Page 4

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From German to

Threaded View
Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
Quoted text here. Click to load it

Welche Programmiersprache ist denn memory-safe? (ADA mit der kompletten




Bitte auch an Listen, Objekte, Out-of-Memory und an Rekursion denken?

https://en.wikipedia.org/wiki/Memory_safety



Schleife hin). CPU's werden mit vielen lookup tables (statt der echten  
Logik, die der Programmierer wollte -- macht der Compiler) hergestellt,


Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
On 21.08.19 20:16, Hanno Foest wrote:



Quoted text here. Click to load it






damit C.

Quoted text here. Click to load it


Quoted text here. Click to load it

In C kann man Fehler machen, die schlimmere Auswirkungen haben als in
anderen Programmiersprachen, das stimmt sicherlich. Aber jetzt zwei Fragen:

Erstens: Habe ich je behauptet, dass C *einfach* zu programmieren ist?

Zweitens: Ist es die Schuld des Werkzeugs oder des Bedieners, dass da
Bugs in der Software sind?

Quoted text here. Click to load it


man sich mit der Arroganz eines DoDi hinstellen und sagen: "Das ist nur

und kommt auf ein Paar Aspekte, die andere Programmiersprachen halt
nicht (in dem Umfang) leisten.

Quoted text here. Click to load it

Google macht Chrome. Bei Google arbeiten mit Sicherheit viele der

als Implementierungssprache entschieden. Warum? Sind die





langsamer als der Firefox ist, dann sind die Benutzer weg. Gerade



Quoted text here. Click to load it




Quoted text here. Click to load it

Das ist genau das undifferenzierte Argument, das mich an der ganzen







alle den Vogel zeigen und mich auslachen. Denn, wie bei jedem Werkzeug,

Source, das *alles* spielt eine Rolle.

Nur wenn es dann um Software-Werkzeuge geht, stellen sich Wolfgang, DoDi
und ihresgleichen hin und posaunen Arrogant herum dass derjenige der
"Transisor X" verwendet ja einfach nur n bissl doof ist und





sie einfach oder idiotensicher zu programmieren ist. Sondern lediglich,
dass es, nach Assembler, vermutlich die performanteste Sprache ist. Und
solche Fakten schlicht zu ignorieren ist intellektuell unehrlich.


Johannes

Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
Am 21.08.2019 um 22:05 schrieb Johannes Bauer:


Quoted text here. Click to load it

Das ist eine unbewiesene/unbeweisbare Behauptung. Richtig ist lediglich,  



heutigen (Intel-)Prozessoren mit einer Hochsprache oft besser als mit  
Assembler.

Quoted text here. Click to load it

Fakten, alternative?



DoDi

Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
On 21.08.19 23:07, Hans-Peter Diettrich wrote:
Quoted text here. Click to load it

Quoted text here. Click to load it






Aber, hey, ich spoonfeede dich jetzt mal und dann schauen wir mal ob du


https://attractivechaos.github.io/plb/
http://ptrace.fefe.de/wp/timings2019.txt
https://julialang.org/benchmarks/

Dass C die meistverwendete Programmiersprache ist, kommt auch nur darauf
an, wie man's misst. Auf TIOBE zumindest nur Platz 2, auf GitHub
gemessen definitiv noch weiter unten. Es ist ansich auch gar nicht

Codezeilen? Oder Anzahl Programmierer?


Quoted text here. Click to load it

Handgeschriebens Assembler ist schon deswegen IMMER mindestens genauso
gut wie jede Hochsprache, weil ich einfach einen Compiler nehmen kann,
das zu Assembler runterkompilieren und dann meinen mindestens
gleichguten Assembler-Code habe.

Dass du solch simple Fakten nicht verstehst, zeigt eindrucksvoll deine
komplette und unfassbare Ahnungslosigkeit. Noch gepaart mit einer





Johannes

Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
Am 21.08.2019 um 23:55 schrieb Johannes Bauer:
[...]




DoDi

Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
Am 21.08.19 um 23:55 schrieb Johannes Bauer:

Quoted text here. Click to load it


kannst wie ein Compiler. Und das wurde schon vor 2 Jahrzehnten von  

umfangreicher wird.

Hanno
--  
The modern conservative is engaged in one of man's oldest exercises in
moral philosophy; that is, the search for a superior moral justification
We've slightly trimmed the long signature. Click to see the full one.
Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
On 22.08.19 00:12, Hanno Foest wrote:
Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it

Wenn ich Assembler schreibe, kann ich mich immer *jedes* Compilers



es notwendigerweise immer mindestens gleichschnell.




Assembler geschrieben, sondern eben nur die kritischen Pfade. Die, wo es
eben einen Unterschied macht, ob Hochsprache oder nicht.

Fakt ist, dass performance-kritischer Code sich heute immernoch an
Assembler bedient. Sieht man z.B. dutzendfach in OpenSSL. Oder bei djb's
Kryptocode. Oder bei BLAS.


Johannes

Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
Am 22.08.19 um 00:34 schrieb Johannes Bauer:

Quoted text here. Click to load it

Nein. Wenn du Assembler schreibst, dann schreibst du Assembler. Wenn du  

Kompilat handzuoptimieren ist dann noch mal was anderes.

Am Ende kommt zwar immer Assembler raus, aber der Vorgang ist ein  
anderer. Jedenfalls, wenn man die Bedeutung von "etwas schreiben" nicht  


Quoted text here. Click to load it

Sicher. Und wie wurde der im Einzelfall erzeugt?

Hanno
--  
The modern conservative is engaged in one of man's oldest exercises in
moral philosophy; that is, the search for a superior moral justification
We've slightly trimmed the long signature. Click to see the full one.
Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
On 22.08.19 00:47, Hanno Foest wrote:
Quoted text here. Click to load it

Quoted text here. Click to load it

Hm, ich sehe einen Compiler durchaus als Werkzeug, sich Tipps und Ideen
zu holen.

Quoted text here. Click to load it




jeden Compiler zu outperformen. Dass /ich/ das nicht kann und vermutlich
die allermeisten Programmierer ebensowenig, ist schon ein separates Thema.

Quoted text here. Click to load it



nutzen quasi perl als Makroassembler. Der Curve25519 Code sah auch nach
handgeschriebenem Zeug aus. Ich finde jetzt djb's Sachen nicht, aber
hier ist ein Beispiel:
https://github.com/msotoodeh/curve25519/blob/master/source/asm64/amd64.masm/Mult.asm


Johannes

--  

selben Hardware." -- Hans-Peter Diettrich in d.s.e.

Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
Am 22.08.19 um 00:34 schrieb Johannes Bauer:
Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it



Quoted text here. Click to load it

In der Praxis: Nein.
Zum einen ist der von einem optimierenden Compiler erzeugte Code oft nur  


Befehlsreihenfolge zur optimalen Ausnutzung der Parallelverarbeitung,  
das ein Mensch da nur noch mit Versuch-und-Irrtum mithalten kann.



Programm.

Hergen

Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
Hallo Johannes (und hallo Hans-Peter),

Du schriebst am Wed, 21 Aug 2019 23:55:11 +0200:

[C vs. Pascal]

Fetzen fliegen...


ber Pascal

ibt
als Schweizer, und dazu noch wesentlich mehr Programmier-Dilletanten als
Informatik-Professoren und -Studierende (C wurde als Freizeitprojekt


Und wie bei der Entwicklung von Autos der Verbrennungsmotor die Produktion
des ersten Serienautos (H. Ford, T-Model) alle anderen Antriebsvarianten
aus handwerklicher Fertigung wegfegte, breitete sich C durch seine
Verwendung in nicht-informatischen Anwendungen auf weitverbreiteten

r im

in erheblich



breitung

dige
Erweiterungen und Verbesserungen an den Umsetzwerkzeugen immer weiter

lohnenswert eresheinenden Pascal, dessen Implementationen sowieso schon


heute erheblich besseren - meist im Sinne von schnellerem - Code


iotheken.


ige
Programmiersprachen und somit in der Lage, alle relevanten Aufgaben zu
implementieren.




ken, die
viele Aufgaben mit wenig Aufwand implementierbar machen.


ch
zu fragen ist, welcher Teil der Vorstellung (Performance) denn relevant

_ bewerten.

eht?

 sind, zwar




--  
--  


-----------------------------------------------------------

-----------------------------------------------------------


Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
Sieghard Schicktanz wrote:
Quoted text here. Click to load it



te,

r

u

Ataribetriebssystems waren die typischen C-Fehler.

Ich habe in meinem Leben genau ein C-Programm geschrieben und einen


nie wieder tun will.


Zeiger, Zeiger auf ...




und versteckte Fehler, nachdem es lief, unwahrscheinlich sind.


r
mich geschrieben haben, dann kann ich mit Pascal und vergleichbarem
hervoragend leben.

--  




/ \  Mail | -- No unannounced, large, binary attachments, please! --

Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
Spam@Berger-Odenthal.De (Axel Berger)  am 23.08.19 um 00:50:
Quoted text here. Click to load it


Quoted text here. Click to load it

Kein Wunder, ist es doch im Wesentlichen konzeptionell ein etwas
erweiterter Assembler.

Quoted text here. Click to load it


... und genau wie Assembler mit allen Freiheiten ausgestattet, sich



Rainer

--  
Wenn man mit Raubkopien wirklich Gruppen wie BroSis, die Backstreet

ein paar CD-Brenner und einen Zentner Rohlinge bestellen.
We've slightly trimmed the long signature. Click to see the full one.
Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
Am 21.08.19 um 22:05 schrieb Johannes Bauer:



Quoted text here. Click to load it

Quoted text here. Click to load it



Quoted text here. Click to load it

Ja, sicherlich. Es tut irgendwelche Dinge. Ob gut, billig, effektiv,  


Alternativen hat und infolgedessen die Programmierer auch keine kennen:  
If you only have a hammer, everything looks like a nail. Aber "gut  


Quoted text here. Click to load it









die Leute nichts anderes kennen?

Quoted text here. Click to load it

Und trotzdem konnten sie nicht gut genug programmieren, um die 70%  


schlechteren Programmierern aussieht.






Programmiersprache zusammen.



Thema:
https://www.youtube.com/watch?v=pW-SOdj4Kkk
).






Quoted text here. Click to load it




Quoted text here. Click to load it


Wenn du hier komplett die Nachteile wegignorierst, bis zu dem Zeitpunkt,  
wo ich sie dir an die Stirn tackere, ist das schon irgendwo  





Quoted text here. Click to load it

Nur hab ich nichts als bestes bezeichnet. Und auch nicht C als  

undifferenziert kritiklos.


wohl Rust. Die Benchmarks sehen ganz brauchbar aus [1]. Aber ich kenn  

Sau, die durchs Dorf getrieben wird: Man wird es sehen. Nur finde ich es  


welchem Wege auch immer.

Hanno

[1]  
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/rust.html
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/rust-gpp.html
--  
The modern conservative is engaged in one of man's oldest exercises in
moral philosophy; that is, the search for a superior moral justification
We've slightly trimmed the long signature. Click to see the full one.
Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
On 21.08.19 23:59, Hanno Foest wrote:
Quoted text here. Click to load it


Quoted text here. Click to load it

Quoted text here. Click to load it



Quoted text here. Click to load it


Quoted text here. Click to load it

Naja, das glaube ich nicht so ganz. Im Business-Umfeld, wenn man mal von
embedded absieht, wird ja wohl auf der einen Seite .net gemacht und auf










Ich bitte dich.

Sind denn dann folgerichtig eigentlich nicht alle Programmiersprachen,
in denen man bugbehafteten Code schreiben kann, deiner Argumentation
folgend, defekt?

Die Argumentation ist mir ein bisschen zu hilflos. Jedes Werkzeug hat


Anwendungsfall das geeignetere Werkzeug ist. Beides hat seine
Daseinsberechtigung.

Quoted text here. Click to load it

Quoted text here. Click to load it


Quoted text here. Click to load it

Microsoft hat mit Windows einige Sachen echt richtig gemacht: Zum


ist nicht von der Hand zu weisen.

Quoted text here. Click to load it


Quoted text here. Click to load it


Programmiersprache eben eine Wahl ist, bei der mehrere Dimensionen eine
Rolle spielen. Google-Ingenieure wissen sehr gut, dass korrektes C viel
schwieriger zu schreiben ist, als andere Programmiersprachen. Und





anderen Security-Bug in Kauf nehmen -- wohlweislich, dass Google ihre
Security sehr gut im Griff hat und extrem flott Patches ausrollen kann




Quoted text here. Click to load it


Quoted text here. Click to load it


Vergleiche anzustellen, aber die Zahlen sind gefaked, die da angezeigt
werden. Ist mir bei Stepstone und jobs.de passiert dass "Java
Entwickler" und ".net Entwickler" diesebe Anzahl an Treffern haben
(irgendwas hohes Vierstelliges), da ist was faul. Und die Seite von der
Arbeitsagentur macht bei 200 Ergebnissen dicht.

Also kann ich's nciht objektiv belegen, aber im Enterprise-Umfeld spielt
C so gut wie keine Rolle.



Quoted text here. Click to load it

Ah, ja den kannte ich schon. Ist ein guter Talk.








Senkel. Dass man z.B. Altium Designer nicht mehr kaufen kann, sondern
mieten muss. Ekelhaft.

Quoted text here. Click to load it

Quoted text here. Click to load it






offensichtlich (Speichersicherheit, Speicherverwaltung, Typsicherheit,

weil sie jeder schon in- und auswendig kennt.


Quoted text here. Click to load it

Quoted text here. Click to load it

Nein, da hast du mein Argument definitiv in den falschen Hals gekriegt.

entscheiden sollte, was das geeignete Werkzeug ist. Damit es halt nicht
immer der Hammer ist, den man verwendet. Auf genau solche dogmatische,



Quoted text here. Click to load it



her, da finde ich Rust teilweise schon sehr anstrengend.

Quoted text here. Click to load it

Quoted text here. Click to load it


Quoted text here. Click to load it

Neue Programmiersprachen sind in den letzten 10 Jahren wirklich

mal vor Jahren D programmiert und fand das wirklich gut, aber wenn da

schwebt, will ich das nicht machen. Mono sieht auch schick aus, aber wer

Lizenzstreit lostritt, wie es bei Oracle/Java der Fall war.

Man muss aber schon auch dazusagen, dass selbst bei der ganz normalen
alten C-Programmierung sowohl die Werkzeuge extrem viel besser geworden
sind als vor 10-20 Jahren und damit auch die Bugvermeidung deutlich



EXTREM gut.

Aber man muss sie halt nutzen und zu nutzen wissen. Und zwar
idealerweise von Anfang an, weil wenn du erst drauflosentwickelst und
nach 50kLOC dann den ASAN anwirfst, wirst du vermutlich nicht mehr froh.


Johannes

Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
Am 22.08.19 um 01:04 schrieb Johannes Bauer:



Quoted text here. Click to load it

Quoted text here. Click to load it



Quoted text here. Click to load it


Quoted text here. Click to load it


des Internet, insofern ist das ein anderes Thema.




Quoted text here. Click to load it




Nicht alles, was hinkt, ist ein Vergleich. Wenn du schneiden willst,  
wirst du wohl ein Werkzeug zum Schneiden brauchen. Aber wer braucht eine  
Programmiersprache zur Erzeugung von Bufferoverflows? - Wenn du  



wenn sie billig ist, und Django damit noch eine hundertstel Sekunde  
schneller.

Quoted text here. Click to load it


Quoted text here. Click to load it

Aber nur deswegen, weil die Erzeuger der Software nicht die Nebenwirkung  




Umweltverschmutzung: Ist nicht eingepreist, interessiert uns nicht,  





sieht es nicht aus)? - Egal! Die Patches gegen Meltdown, Spectre, und  





Hanno
--  
The modern conservative is engaged in one of man's oldest exercises in
moral philosophy; that is, the search for a superior moral justification
We've slightly trimmed the long signature. Click to see the full one.
Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
On 22.08.19 01:46, Hanno Foest wrote:

Quoted text here. Click to load it

Quoted text here. Click to load it


als C findet, und das stimmt doch nicht, weil die ganzen

falsch verstanden?

Quoted text here. Click to load it


Quoted text here. Click to load it




Quoted text here. Click to load it


Das ist ein interessanter und richtiger Punkt. Der ist meines Erachtens




alle finden das okay. Ich bin da 100%ig bei dir, dass wir eben auch

in Deutschland, aber in der Praxis ist mir kein Fall bekannt, wo mal


Allerdings, meine ich, kriegt man eben auch C sicher hin, wenn man das
Geld investiert: Zeitaufwand, Testaufwand, Testwerkzeug. Aber klar, wenn
Cisco einfach nur ganz schnell den neusten Router auf den Markt wirft,

Das ist wiederum der Gier der Konzerne geschuldet, Kapitalismus im
Endstadium eben.




Quoted text here. Click to load it

Quoted text here. Click to load it




Virenscanner sogar noch VERKAUFEN. Das ist echt eine Meisterleistung.




Ja naja, ich mag manche Aspekte von C und andere weniger. Wenn es geht,


Architekturen und Platformen hinweg, das macht es schon quasi zu einem
extrem guten Makroassembler.


Johannes

--  

selben Hardware." -- Hans-Peter Diettrich in d.s.e.

Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
Am 21.08.2019 um 19:17 schrieb Johannes Bauer:
Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it


Quoted text here. Click to load it






Quoted text here. Click to load it

Quoted text here. Click to load it

Die ersten C Compiler und Bibliotheken waren auch nicht besonders  

heute auch niemand mehr mit C befassen.



Quoted text here. Click to load it





Unterschied bekannt.



Quoted text here. Click to load it


Nun ja, mit solchen Aposteln lohnt sich eine weitere Diskussion nicht.

Quoted text here. Click to load it

Quoted text here. Click to load it

Eben weil ich mitbekomme, was sich da abspielt :-]

schlicht und ergreifend keine Ahnung. Ich schon.


Du eher mit Kenntnis von C#, Ada oder OPL. Aber mit C Scheuklappen...

DoDi

Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
On 21.08.19 20:28, Hans-Peter Diettrich wrote:



Quoted text here. Click to load it




Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it


zu verbessern? Einfach nur aus Jux & Dollerei? Reiner Zufall?


Quoted text here. Click to load it




Vom Webserver bis zur RS232-Library ist da alles dabei. Und im



Quoted text here. Click to load it

Quoted text here. Click to load it


heruntergelassenen Hosen dastehst, wie Wolfgang? Wenn bei ner Pascal RC4
Implementierung dann Faktor 10 unterschied rauskommt, ist das noch "kaum

du kompletten Unsinn geschrieben hast?





revidieren.

Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it

Ich *kenne* C++. Du hast Null Ahnung und kannst nicht EINEN EINZIGEN

die beleidigte Leberwurst und hoffst, dass niemand deine komplette
Ahnungslosigkeit bemerkt.

Quoted text here. Click to load it

Quoted text here. Click to load it

Was bekommst du denn mit? Gib es doch zu: Du hast doch keinerlei Ahnung
von den Sprachfeatures, die ich da gerade aufgelistet habe, richtig? Und
musstest sie alle googeln, oder?

Quoted text here. Click to load it

Quoted text here. Click to load it

Na du bist ja witzig -- denn DU warst der, der C++ ins Spiel gebracht
hat. Du! Und dann stellt sich heraus, dass ich mich da ganz gut


programmiere, kannst du ja mal in mein Github Repo schauen.

Aber ich finde es echt immernoch erstaunlich dass du, als Informatiker
(schon, oder?) die himmelschreiende Arroganz hast, anderen Leuten
vorschreiben zu wollen was eine "bessere" Programmiersprache ist. Du

schlimm. Autos sind megaschlecht. UNd dann stellst du mir ein Fahrrad

die Geschwindigkeit ist echt nicht so wichtig". Das ist aber halt eben
MEINE Entscheidung als Ingenieur, was in MEINER Applikation wichtig ist

DoDi.


Johannes

Re: FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
Am 21.08.2019 um 20:58 schrieb Johannes Bauer:

[...]



Quoted text here. Click to load it

DoDi

Site Timeline