Miniprogramm mit 50% CPU-Auslastung?

sheel

I love Asm
Deswegen hatte ich angenommen, dass wäre dann so.

Sagen wir mal, es ist eine Voraussetzung. Eine von vielen.

Und jedenfalls ist es keine Garantie. Auch wenn alle Voraussetzungen erfüllt sind kann das OS entscheiden, deine Threads lieber auf einem Kern zu haben, und die anderen für andere Programme zu verwenden. In dem Fall wechseln sich deine Threads auf ihrem einen Kern schnell ab, alle paar Millisekunden ein anderer.
 

jkallup

Erfahrenes Mitglied
ja das ist mal wieder typisch Anfänger dann C++ und auch noch Fensterprogramme.
dieses Sleep ist von Assbachuraltzeiten.
Es bringt das ganze System in schwanken.
Also weg damit.
Thread's sind ok - Aber als Anfänger??

Lieber mit Consolen Programme starten und lernen.
Bildpunktprogramme werden später erlernt. Dieses buntiklicki das is echt nicht lehrreich

Ich weiss, ich stelle auch hin und wieder Fragen über C++, aber das sind dann schwerere Brocken.
Und fürs lernen einer Programmiersprache ist ein Computer mit 4 Kernen viel zu viel overkill.
Da reicht nen Intel duo2 mit 4 GB Ram und eine 200 GB Festplatte.
Dort machst Dir dann Linux Deiner Wahl drauf und gut is.
Linux ist dann nicht so anfällig auf Fehler.
Was hab ich für Stunden gesessen, und hab das Fensterprogramm einrichten müssen, da es
freezed modus gestartet hat,und das bei nur 2 schleifen.

Aber naja, ich will nicht vormundschaften, soll jeder machen was er will ...
 

sheel

I love Asm
Sorry, aber von diesem Beitrag kann ich praktisch nichts unkommentiert stehen lassen.

ja das ist mal wieder typisch Anfänger dann C++
Gibt es irgendein Problem...? :rolleyes:
Wir alle waren mal Anfänger.

und auch noch Fensterprogramme.
Seh nichts davon

dieses Sleep ... bringt das ganze System in schwanken.
Details dazu würden mich interessieren... nur weil der C++-Standard ca. 30 Jahre später auch so eine Funktion hat ist die alte nicht gleich kaputt.

Bildpunktprogramme werden später erlernt
...oder besser gar nicht. Wer alles aus einzelnen Pixeln zusammensetzt... ( :rolleyes: :p )

Und fürs lernen einer Programmiersprache ist ein Computer mit 4 Kernen viel zu viel overkill.
Wer weiß, vielleicht hat der Fragesteller den Computer ja für mehr Anwendungen gekauft, nicht nur C++-Anfängerprogramme :rolleyes:
... zB. einen Computer, der mit immer aufgeblähteren "modernen" Windows-Versionen, VS, usw.usw., umgehen kann...

Linux ist dann nicht so anfällig auf Fehler.
Das würde mich auch interessieren ... (ich mag und verwende Linux, aber Fehler haben alle mir bekannten OS mehr als genug)

Was hab ich für Stunden gesessen, und hab das Fensterprogramm einrichten müssen, da es
freezed modus gestartet hat,und das bei nur 2 schleifen.
Äh was? ... Distributionen, der gleich nach dem Installieren schon unbrauchbar sind, gibts zwar, aber da ist man dann wohl selbst schuld wenn man das verwendet...
 

jkallup

Erfahrenes Mitglied
naja, hast ja recht.
Ich mag es nur nicht, wenn bei mir Leute klingeln, die Programmieren lernen wollen
aber gleichzeitig die ersten Kapitel überspringen und dann Fragen stellen, wie wird
ein String zeichen an Position sliced ...
Oder was auch der Fehler von so manchen HS war, C++ Builder oder Java-Builder
oder Delphi für die Lehre zu verwenden.
Da man bei diesen Produkten, eigentlich nur noch klickiklaki machen brauchte um
ein Programm zu erstellen.
Erstens waren diese Produkte teuer und ich hab immer so eine Ablehnung gehabt,
wenn ständig die gesamten VCL Libs hinzugefügt wuirden an das Executable File.
Ok, man konnte auch BPL Dateien schreiben, die ein sharing ähnlich der DLL's unter
dem Fensterprogramm darstellten.
Aber man musste dann auch wiederrum sicherstellen das Patches, usw. mitgeliefert
wurden. Nicht zu vergessen das einschleichende Ressourcen Burning des jungen
Programmierers.
Nicht umsonst gab es da das VisualC++, das speziell an das Fensterprogramm aus-
gerichtet war aber auch damit sehr sehr schwer zu Portieren war auf andere
ISO Programmen.
 

RoninSL

Grünschnabel
Lieber mit Consolen Programme starten und lernen.

Ist doch ein Konsolen-Programm. Das einzig einfachere als dieses Programm hätte wohl nur "std::cout << "Hallo Welt" << std::endl;" sein können. Ich mein, da passiert nichts weiter als ein simulierter Mausklick per Tastendruck.

Und fürs lernen einer Programmiersprache ist ein Computer mit 4 Kernen viel zu viel overkill.

Sorry, ich werde gleich auf ebay schauen, dass ich einen Computer von 1980 finde. Wusste nicht, dass ich um programmieren zu lernen einen extra Computer kaufen muss.

aber gleichzeitig die ersten Kapitel überspringen und dann Fragen stellen

Die Mindestgrundlagen habe ich mir durchaus angeeignet. Ich finde nur es nur gar nicht motivierend einen Taschenrechner zu programmieren. Da überlege ich mir lieber etwas, was mich interessiert und versuche das hinzubekommen - da hab ich dann auch echte Motivation und bleib bei der Sache. Es steht Dir aber doch frei meine Fragen zu ignorieren.
 

jkallup

Erfahrenes Mitglied
Hallo,

ich will Dir nicht die Motivation nehmen, vielmehr Tipps geben, wie Du an dem Thema lange dran bleibst.
Es macht keinen Sinn sich einen Gamer PC zu kaufen, der 2000 Euro kostet, nur, weil Du nun programmieren
lernen willst.
Wenn Du einen gebrauchten PC brauchst, ohne stelle ich mir das ein wenig scwierig vor, dann kann ich Dir einen
für unter 200 Euro besorgen.
Ich selbst arbeite gerade an einer Maschine von 2006.
Leicht ist man entmutigt, wenn man Fehler macht, und die Compiler das auch nicht explizit sagen, wie und wo der Fehler behoben werden kann/soll,
Klar, eine Meldung bekommst Du auf jeden Fall.
Meistens ist es bei C++ so, das man Bibliotheken arbeitet, die template techniken verwenden und der Ratenschwanz,
der entsteht, nicht vorformatiert ausgeben und gerade als Anfänger nicht geübet ist, die ganzen Symbole zu verstehen.
Dann ist es so, das man nichts von Fensterprogramm umsonst bekommt.
Gut, es gibt Express Versionen, aber die darf man nicht verkaufen, gleichwohl weitergeben für umsonst.
Gleiches gilt für die BORLAND Reihe, es gibt Testversionen, die man eingeschränkt nutzen kann und man hat
eine Lizenz für einen Benutzer/PC aber die sind dann auch da ausgelgt, um erstmal reinzuschnuppern.
Die einzige und größte Community ist die OpenSource Community.
Es gibt fast nix, was es nicht gibt.
Aber Programme sind besser programmiert und debuggelt per Hand.
Gut, man muss sich da auch erstmal einarbeiten, aber wenn Du ein guter Programmierer werden willst,
dann musst Du Dein Programm schon im Kopf haben.
Der Computer ist nur Mittel zum Zweck für die Umsetzung Deiner Idee(n).
Schau mal: Ich finde es immer wieder lustig, wenn sich zwei Ehepartner finden und ein Haus bauen.
Meist wird da nicht ans altersgerechte wohnen gedacht.
Da wird keine ebene Dusche, sondern eine Wanne verbaut.
Fußbodenheizung im Keller verlegt - wann kommst Du da mal hin wenn Du 80 Jahre alt bist?
Und so ist es mit Computerprogrammen:
Die werden mit Werbung(bilder/banner) ugeklatscht, so dass sie unbrauchbar für Leute mit
einer Sehbeeinträchtigung leben müssen.
Siehe Brail schrift.
Das wäre doch mal ein richtiges Projekt für Dich oder?
Bastle doch mal mit Jave und Eclipse eine kleine App, die ein Button auf Dein SmartHandy anzeigt
und ggf. beim anclicken eine Meldung oder eine Audiodatei wiedergibt.
Dann eine Stufe höher, einfachen Text.
Dann noch eine Stufe höher, versuche das Internet vernüftig zu bedienen und suche mal bei
verschiedene Suchmaschine nach Brail schrift.
ggf. lernst Du sie ja auch und druckst dir ein (Daten)Blatt mit der Tabularbesetzung der Zeichen und
Bedeutungen aus.
Vielleicht hilft Dir ja einer in der Umgebung das ganze auf Folie zu drucken - geh einfach mal auf
die Suche.
So, und nun ist es Deine Aufgabe die angepasste Folie so auf Tablet zu fixieren, das Du als
sehender Die Stellen, and dennen ein Buchatbe/Zeichen ist in einer App bei Berührung ein Wort
ausgibt oder Buuchstaben ansagt. Auch hierzu kannst Du mal im Internet suchen.
Und dann, wenn Deine App fertig ist, kannst Du Dir einen Sponsor suchen, der Dir eine echte
Brailfolie plottet - so mit Kerben oder Punkten.
Für ein solches Vorhaben gibt es schon das nicht al zu Neue Crowfunding.
Bei Crowfunding kann man Sponsoren für Deine Projekte anlocken.
Am Anfang steht die Idee und das Produkt oder die Dienstleistung.
Dann überlegst Du, in welcher Zeit Du - tja ich sag jetzt mal "Werbung" betreiben willst.
Dabei gibst Du die benötigte Summe für Dein Projekt an, die in einer bestimmten Zeit zusammen
gecrwodet sein soll.
Haben sich Sponsoren gefunden und die Deadline ist erreicht, dann wird entschieden, ist das Projekt
finanzierbar oder nicht.
Wenn nicht, gehen alle gesponserten Crowds/Gelder wieder zurück an die Sponsoren.
Somit hast Du eigentlich kein Risiko, außer dem, das Du, wenn es zu einen Erfolg werden soll,
Werbung in der Form von Promos, Videos, Texte ,,,, machst.
Je mehr Werbung, desto mehr Interesse - oder auch nicht ;-D
Jedenfalls bleibt Crowdfounding für die risikofrei - außer Deiner Aktivitäten.
Es gibt Plattformen, die löschen die Promos von der Plattform und Du musst wieder von Neuen
beginnen. Andere hingegen behalten sie, und Du kannst unter anderen Namen eine neue Crowdpromo
starten.
Aber vorsicht: Auch nach der Promo ist vor der Promo!
Die Sponsoren wollen Dich sehen und wohin die Gelder fließen.
Da ist ein geben und ein nehmen.
Es gibt sicherlich viele helferlein hier im Forum, die Dich vielleicht bei Deinen Projekten helfen
wollen...??!!
Man muss halt Heute den Mund auf machen und auf die Leute zugehen.
Ok, nu aber Schluß mit dem gessabbel.

Auf Gutes Gelingen
Jens
 

cwriter

Erfahrenes Mitglied
Sorry, aber von diesem Beitrag kann ich praktisch nichts unkommentiert stehen lassen.
Naja, vielleicht kann man es diesmal nicht ganz so hart ausdrücken.

Es macht keinen Sinn sich einen Gamer PC zu kaufen, der 2000 Euro kostet, nur, weil Du nun programmieren
lernen willst.
Ich habe hier 2 Computer aus dem Jahr 2009. Dual Cores, einen Centrino 2 Duo SU9400 mit 1.4GHz und einen mit Core 2 Duo mit 2.8 GHz. Projekte mit "nur" 25000 Zeilen Code kompilieren (ohne distcc) gerade mal eben für 1-3 Minuten, mit distcc vielleicht 45s.
Auf einem moderneren i5-6600T geht das in 30 Sekunden.
Solche alten Computer sind keine 200€ wert, wenn man für ein bisschen mehr als das doppelte mehr als doppelt so schnelle Maschinen bekommt.

Ich selbst arbeite gerade an einer Maschine von 2006.
Naja, alt ist nicht unbedingt schlecht. Aber ich lehne mich mal weit aus dem Fenster und sage: Viel mehr als einfache Textverarbeitung liegt da auch nicht mehr drin, von der Energieeffizienz reden wir schon gar nicht.
(Und klar geht wahrscheinlich alles noch, aber langsam, und Zeit ist Geld...)

Meistens ist es bei C++ so, das man Bibliotheken arbeitet, die template techniken verwenden und der Ratenschwanz,
der entsteht, nicht vorformatiert ausgeben und gerade als Anfänger nicht geübet ist, die ganzen Symbole zu verstehen.
Da stimme ich sogar zu: C++ (vor allem C++11 aufwärts) ist sehr verwirrend für Anfänger. Allerdings gibt es hier im Forum ja (meistens :p) kompetente Hilfe, sodass das ausgeglichen werden kann. Persönlich bin ich ein Anhänger der "C first, then C++"-Idealogie, aber ich gehöre dahingehend auch schon zum alten Eisen.

Dann ist es so, das man nichts von Fensterprogramm umsonst bekommt.
Gut, es gibt Express Versionen, aber die darf man nicht verkaufen, gleichwohl weitergeben für umsonst.
Was?
"Express"? Meinst du VS Express? Das gibt's nicht mehr wirklich, heisst jetzt "Community" und ist auch für kommerzielle Zwecke kostenlos.
Für Fensterprogramme: Qt ist ebenfalls für kommerzielle Projekte kostenlos, LGPLv2. Hat halt nicht alle Features der Vollversion (wie auch VS), reicht aber locker für Einzelfirmen.

Gleiches gilt für die BORLAND Reihe, es gibt Testversionen, die man eingeschränkt nutzen kann und man hat
eine Lizenz für einen Benutzer/PC aber die sind dann auch da ausgelgt, um erstmal reinzuschnuppern.
Was, die gibt's noch?
Gerade gegooglet: Nicht wirklich. Wurde aufgekauft.

Die einzige und größte Community ist die OpenSource Community.
Es gibt fast nix, was es nicht gibt.
Aber Programme sind besser programmiert und debuggelt per Hand.
Aha?
Sprichst du jetzt das Zusammenklicken von GUIs an (was hier 100% OT ist)?
Mittlerweile nutze ich den Qt Designer sehr gerne. Warum sollte ich mehrere Stunden in eine GUI stecken, die unter Qt schnell genug funktioniert und in wenigen Minuten erstellt werden kann? (Speziellere Dinge sind dann ein Krampf, genauso wie so einiges an Qt, aber was Besseres habe ich noch nicht gefunden).

Gut, man muss sich da auch erstmal einarbeiten, aber wenn Du ein guter Programmierer werden willst,
dann musst Du Dein Programm schon im Kopf haben.
Nicht wirklich falsch, aber kennst du die genaue Funktionsweise aller Bibliotheksfunktionen, die du je benutzt hast?
Eine gewisse Abstraktion ist immer nötig.

Schau mal: Ich finde es immer wieder lustig, wenn sich zwei Ehepartner finden und ein Haus bauen.
Meist wird da nicht ans altersgerechte wohnen gedacht.
Da wird keine ebene Dusche, sondern eine Wanne verbaut.
Fußbodenheizung im Keller verlegt - wann kommst Du da mal hin wenn Du 80 Jahre alt bist?
Und so ist es mit Computerprogrammen:
Die werden mit Werbung(bilder/banner) ugeklatscht, so dass sie unbrauchbar für Leute mit
einer Sehbeeinträchtigung leben müssen.
Siehe Brail schrift.
Verstehe ich nicht.

Ok, nu aber Schluß mit dem gessabbel.
Äh ja.
Es wäre wohl weniger Gesabbel, wenn du eine Idee mal über mehr als einen Satz behältst und ausarbeitest.
Und was Crowdfunding mit Programmierung und diese mit Blindenschrift zu tun hat, verstehe ich auch nicht so ganz.
Und Eclipse und Java sind nicht C++ (und Finger weg von der JNI für GUIs...), und warum du erst GUIs für Anfänger verteufelst und dann GUIs für Android als Anfängerprojekt vorschlägst, verstehen wahrscheinlich auch nicht alle.

Sorry, ich werde gleich auf ebay schauen, dass ich einen Computer von 1980 finde. Wusste nicht, dass ich um programmieren zu lernen einen extra Computer kaufen muss.
;)

Die Mindestgrundlagen habe ich mir durchaus angeeignet. Ich finde nur es nur gar nicht motivierend einen Taschenrechner zu programmieren. Da überlege ich mir lieber etwas, was mich interessiert und versuche das hinzubekommen - da hab ich dann auch echte Motivation und bleib bei der Sache.
Und das ist gut so! Kleiner Hinweis am Rande: Taschenrechner mit korrekter Prezedenzregeln sind durchaus sehr komplex und daher (zumindest von einem akademischen Standpunkt aus) recht spannend. Aber ich fand Taschenrechner auch langweilig, als ich mit C begann. Ein Projekt zu setzen und dieses dann zu verfolgen, bei Fragen zu fragen und ein bisschen Learning By Doing zu betreiben, ist sicher nicht schlecht. Kleine, gutgemeinte Warnung: Erwarte nicht gleich perfekte Projekte zu Beginn. Wenn ich heute meine ersten Projekte anschaue, schaudert mir. Aber das gehört zum Lernen dazu.

Es steht Dir aber doch frei meine Fragen zu ignorieren.
Nein, hier bei Tutorials.de in der C/C++-Sektion sind wir im Keller angekettet und müssen für ein Butterbrot 5 Beiträge schreiben. Und wenn @sheel uns beim Faulenzen erwischt, dann werden wir 3 Stunden lang in die Strafzelle geschickt, wo wir im Laufrad Strom für die hauseigene Bitcoinfarm erzeugen müssen, damit sich @sheel in ein paar Jahren mit seinen Millionen zur Ruhe setzen kann. :eek:
Keine Angst, @RoninSL, du machst alles richtig. Viel Spass bei deinen Projekten und dem Lernen! :)

Gruss
cwriter