Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
14.04.18, 10:04
|
#1
|
Anfänger
Registriert seit: Oct 2009
Beiträge: 1
Bedankt: 11
|
Hol dir das Buch: Schrödinger programmiert C# <- alles drin und macht Spass
|
|
|
08.11.18, 21:27
|
#2
|
Ist öfter hier
Registriert seit: Feb 2011
Ort: Eastgermany
Beiträge: 218
Bedankt: 360
|
Zitat:
Zitat von a5r
|
Warum einen ! Dialekt ! einer Programmiersprache verwenden welche vor 40 Jahren entwickelt wurde, keine Objektorientierung bietet und noch dazu Kommerziell ist?
Basic war damals beliebt weil es der einzige Weg war mit einem Heimcomputer eigene (Programme) zu schreiben. Das größte Problem in der heutigen Zeit ist jedoch nichteinmal die fehlende Objektorientierung sondern die Tatsache dass es dutzende Dialekte der Sprache gibt und man daher nur sehr schwer Dokumentationen und Tutorials findet.
Es gibt deutlich besser geeignete Sprachen welche den gleichen Umfang bieten und noch dazu sowohl standardisiert als auch Einsteigerfreundlich sind.
Zitat:
Zitat von shango2007
ich würde c++ anfangen und als IDE Visual studio express 2010 downloaden.
|
C++ gilt zurecht als die schlechteste Möglichkeit in die Programmierung einzusteigen. Durch die verwendung aus C Relikten und neuen C++ Bestandteilen fehlt der Sprache jede Struktur, die Dokumentation ist grauenvoll und die meisten Bücher verwenden nichteinmal die neuen Funktionen die C++ bietet sondern lehren Veraltete Grundlagen aus C (siehe Arrays).
Des weiteren Verwendet man als Programmieranfänger keine IDE's welche Fehler automatisch hervorheben oder gar Korrigieren und durch Autovervollständigung den Code erstellen. Das verwenden einer IDE kann für den Lernprozess sogar von Nachteil sein.
Zitat:
Zitat von Schniedelwutz
Hol dir das Buch: Schrödinger programmiert C# <- alles drin und macht Spass
|
Lies dir zuersteinmal die Kommentare des C# Forums zum Buch bzw. Rezessionen zu Gallileo Büchern allgemein (unter anderem auch hier im Forum) durch. Das Buch vermittelt teils unvollständiges, teils fehlerhaftes Wissen eines Java Programmierers der sich über ein Wochenende die C# Dokumentation durchgelesen hat.
__________________________________________________ _______________________________________
Um zu deinem Problem zu kommen vor dem wohl jeder Anfänger steht. Ich möchte dir nicht in die Auswahl der Programmiersprache reden jedoch halte ich persönlich C# als ungeeignet für das lernen.
Der Grund ist denkbar einfach. C# ist eine Sprache die für das .NET Framework entwickelt wurde. Zugegeben, sie bietet im vergleich zu anderen Sprachen einen sauberen Code und das .NET Framework eine gute Dokumentation. Das Problem dabei ist, selbst bei einfachen Aufgaben wie das ausgeben eines Texts auf dem Bildschirm müssen API's des .NET Frameworks eingebunden werden, eine Klasse und (wahlweise) ein Namensraum vergeben werden bevor man überhaupt nur eine Zeile Code schreibt. Das Testen einzelner Beispiele erfordert das erstellen eben dieses Grundgerüsts und das Speichern dieses Codes in einer Datei welche man danach erst Kompilieren muss um die Funktion zu testen.
Bei diesem ganzen Hin und Her verliert man sehr schnell den Überblick darüber welche Bestandteile nun zur Sprache C# und welche zum .NET Framework gehören. Dazu bietet die Sprache durch das Visual Studio zwar eine gute Möglichkeit schnell Programme mit grafischen Oberflächen zu erstellen jedoch erschwert es durch diesen mehraufwand auch das lernen an sich.
Das Visual Studio ist ein weiteres Hindernis. Wenn du dich im Code verschreibst korrigiert die IDE den Fehler für dich ohne dass du ihn bemerkst, im schlimmsten Fall erzeugst du diesen Fehler immer wieder und verinnerlichst ihn. Auch zeigt dir die IDE sofort durch eine Hervorhebung an welche Codezeile Topografische Fehler enthält, dies ist zwar sehr angehenm jedoch ist ein entscheidender Teil des Lernprozesses die Fehleranalyse und Suche.
__________________________________________________ _______________________________________
Ich würde dir empfehlen dir eine Sprache auszusuchen die einfacher zu erlernen ist und speziell zu dem Zweck entwickelt wurde. Python bietet den selben Funktionsumfang wie C#, ist auf allen Betriebssystemen lauffähig die man sich denken kann (ich habs sogar auf meinem Tablet) und C# nur auf Windows und eingeschränkt durch Drittanbieter auf Linux. Der einzige Nachteil den du bei Python hast ist dass das erstellen von GUI's komplexer ist was aber nichts mit dem Programmieren lernen an sich zu tun hat. Und ums noch deutlicher zu machen, du kannst auch mit Python auf das .NET Framework unter Windows zugreiffen.
Wenn man sich die Verbreitung der Programmiersprachen ansieht wird es noch deutlicher, Python kommt bei TIOBE auf Platz 4, bei Red Monk auf Platz 3 und bei PYPL auf Platz 2, C# steht dort auf 5, 5 und 5.
Obwohl Python so einfach konzipiert ist wird es von Google und Youtube verwendet um ihre Webseiten zu verwalten und von der NASA um Berechnungen für ihr Raumfahrtprogramm anzustellen. Du hast Bibliotheken für Wissenschaftliche Berechnungen, Datenbankanbindungen, Spieleprogrammierung usw. und kannst recht einfach auch auf API's die in C geschrieben worden sind verwenden und wie gesagt aufs .NET Framework zugreiffen ohne dass du eine andere Sprache lernen musst, kannst aber wenn du sie einmal gelernt hast recht gut in jede anere Objektorientierte Sprache umsteigen wenn du es später willst.
Des weitern hast du für Python weitaus mehr Bücher und Tutorials die sich an Einsteiger richten als für C# (HTML sehe ich hier nicht als Umstiegssprache sorry^^). Durch den Interpretermodus von Python kannst du Codeschnipsel interaktiv testen bevor du sie in dein Programm einbaust und in diesem Modus kannst du dir durch "hilfe()" auch die Dokumentation für die jeweiligen Befehle anzeigen lassen was du in C# nicht kannst.
Falls du es noch einen Tick einfacher haben willst was Objektorientierung angeht und die interaktive Hilfe dann bietet sich Ruby an. Ruby wird meistens mit der Rails Bibliothek für Netzwerk und Webseiten benutzt. wie man am RPG Games Make XP und VX sieht kannst du damit aber auch eigene Spieleframeworks entwickeln die garnichmal so scheisse aussehen.
__________________________________________________ _______________________________________
Zum Thema Programmieren selbst ist es schwer zu sagen was dir am esten hilft weil jeder einen anderen Rhytmus hat. Wichtig ist vor allem dass du nich ein Buch oder Tutorial anfängst und das Ziel hast es in 2 Tagen durchzulesen um am dritten ne Spielengine zu schreiben, du musst dir zwar ein Ziel vor Augen halten um zu wissen welchen Weg du einschlagen willst jedoch dauert das lernen und verinnerlichen der Grundlagen schon Monate und alles kannst du nicht wissen.
Grundlegend suchst du dir ersteinmal ein Medium was dir die Grundlagen erklären soll, bei mir funktionieren gute Bücher am besten (unten empfehle ich dir noch meine Favoriten für Python) weil man mit denen leichter zwischen Lehrbuch und Nachschlagewerk hin und her wechseln kann, andere lernen mit Youtube Videos am besten und wieder andere gehen in die Foren und stellen Fragen.
Hast du einmal angefangen dich durch ein Turorial durchzuarbeiten dann reiss es nicht runter sondern mach nach jedem Kapitel eine Pause und übe ein bisschen mit dem gelernten schreib eigene Programme, bau Fehler ein um zu sehen wie sich das Programm verhält und am wichtigsten, lern den Stoff nicht auswendig sondern versuch ihn zu verstehen.
Wenn du dann ein paar Kapitel weit gekommen bist und neue Sachen gelernt hast dann nimm dir die alten Codebeispiele und Programme und versuch sie mit dem neu gelernten zu verbessern, so rufst du dir das vorherige nochmal ins Gedächtnis und übst das neue gleich mit.
Wenn du das Tutorial dann durch hast ist das schlimmste was du machen kannst zum nächsten zu wechseln, glaub mir ich hab glaub jedes Python Buch gelesen was ich gefunden hab und es steht überall das gleiche drinn. Schreib eigene Programme, poste sie in Foren und lass dir von den anderen Nutzern Tipps geben wie du sie verbessern kannst. Schau dir Programme von anderen an und denk nach ob du eine Möglichkeit findest wie du es besser machen würdest, auch Experten neigen ab und zu dazu ihren Code unnötig zu verkomplizieren. Wenn dir ettwas auffällt dann schreib einen Kommentar dazu, natürlich freundlich, auch wenn du nicht recht hast mit deiner Vermutung lernst du durch die Diskussion dazu.
Auch eine gute Möglichkeit zu lernen, auch wenn die Sprachen heutzutage mit ihren Bibliotheken viele Probleme für dich lösen, versuch sie selbst zu programmieren, es gibt ettliche Ausführungen von Algorythmen wenn es darum geht Listen (Arrays) zu sortieren, denk dir selbst ne Möglichkeit aus und vergleich sie dann mit anderen die du im Netz findest, bau Zählervariablen ein die am Ende die Durchläufe angeben oder nen Timer der anzeigt wie lange der Algorythmus gelaufen ist. Auch wenn das vileicht dumm klingt, du lernst so die Anweisungen zu verstehen und nebenbei dein Programm zu Debuggen.
__________________________________________________ _______________________________________
So, nun noch zu den oben angekündigten Büchern die ich für Python bevorzuge, sie beziehen sich hierbei auf Python 3 (Du kannst zwar auch Python 2 verwenden jedoch ist Python 3 aufgeräumter und wird irgendwann besser gepflegt als die 2x Versionen.)
Python von Kopf bis Fuß >> Das Buch zeigt in (einigermaßen) realitätsnahen Beispielen sehr gut die Sprachgrundlagen und man lernt dabit wirklich sehr effektiv. Auch dabei sind Beispiele zur Datenbankprogrammierung und für Webanwendungen, setzt jedoch Grundwissen zu Schleifen und Verzweigungen voraus. Nicht empfehlen kann ich Programmierung von Kopf bis Fuß was sich zwar an Anfänger richtet und auf Python basiert allerdings sind die Codebeispiele (Auslesen von bestimmten Webseiten oder anmelden bei Twitter durch Code) nur noch durch Workarounds nutzbar die man sich im Web zusammensuchen muss.
A Byte of Python >> Das Buch vermittelt zwar nur die Sprachgrundlagen ohne auf Bibliotheken einzugehen aber ist dabei sehr ausführlich und Einsteigerfreundlich was es unter Python Anwendern sehr beliebt gemacht hat. Die deutsche Auflage ist leider veraltet.
Python für Kids >> Auch wenn der Name sehr Gewöhnungsbedürftig ist, das Buch ist ziemlich lehrreich und durch die vielen Beispiele in Turtle hat man recht viel Spaß bei ausprobieren und herumspielen. Da es von einem deutschen Informatikprofessor geschrieben wurde muss man sich auch keine Gedanken zur Übersetzungsqualität machen. Bitte nicht verwechseln mit Python Kinderleicht!
Think Python 2. Auflage >> Das Buch ist Perfekt wenn man gern selbst lernen möchte, man bekommt die Grundlagen erklärt und muss auf deren Basis verschiedene Probleme lösen. Ab der zweiten Hälfte wird es sehr Mathematiklastig und Wissenschaftlich was es für Kinder ungeeignet macht aber es ist eins der besten Lehrbücher meiner Meinung. Von der deuschen Übersetzung ist abzusehen da diese nur für Python 2 vorliegt und der Übersetzer aus irgendeinem Grund die hälfte aus dem kostenlosen Original gestrichen hat und es für 30 Euro auf Amazon verkauft, belohnt ihn dafür bitte nicht auch noch.
Learn Python the Hard Way >> Ist seit der 3. Auflage sehr gut geworden, aber leider nur in Englisch verfügbar, dafür jedoch als Onlineversion kostenlos. Das Buch zeigt ebenfalls die Grundlagen in kleinen Beispielen und stellt dann Aufgaben zum erstellen eigener Problemlösungen und am Ende erstellt man sogar ein recht cooles kleines Textadventure.
Python 3 Lernen und Professionell anwenden - Das Umfassende Praxisbuch >> (Bitte nicht mit dem Python 3 Handbuch von Gallileo verwechseln!) Das ist ein sehr gelungenes Buch und wurde in der neuen Auflage nocheinmal komplett überarbeitet. Es führt gut in die Sprache ein und behandelt dabei die wichtigsten Bibliotheken, das einzige Manko ist das die meisten Beispiele im Interpreter ausgeführt werden und der Text recht trocken ist.
Learning Python >> Wenn ihr etwas zu Python lernen möchtet dann findet ihr es in diesem 1500 Seiten langen Wälzer. Es ist das Python Buch schlechthin und behandelt nahezu alles was es zum Thema zu wissen gibt, einziges Problem ist die Ausschweifende erklärung die wirklich bis ins kleinste Detail geht und recht schnell ermüdend wird jedoch lohnt es sich diese zu wissen. Das Buch ist dabei auch für Anfänger geeignet da es von Grundauf beginnt. Ich weiß leieder nicht ob es zu diesem Buch überhaupt eine deutsche Übersetzung gibt daher kann ich zu dieser nichts sagen, falls sie jemand hat kann er sie mir jedoch gern zukommen lassen.
Python GE-PACKT >> Wie der Name schon sagt, in diesem Buch findet ihr alles zu den eingebauten Bibliotheken mit Erklärung und Beispielen. Es handelt sich hierbei nicht um ein Lehrbuch, es ist ein Nachschlagewerk in dem in geordneter Form alles wissenswerte zu Python vermerkt ist und bietet entsprechend der PACKT Buchreihe eine hohe Qualität.
Python Cookbook >> Auch hier handelt es sich um kein Lehrbuch jedoch sollte es in keiner Sammlung fehlen, es beschreibt Probleme aus dem Programmieralltag, geht auf mögliche Lösungsmöglichkeiten ein und beschreibt den Entsprechenden Quellcode, Ich habe die deusche Übersetzung zwar nocht nicht selbst gelesen ind den Foren jedoch nichts gutes darüber gehört, das englische Original ist jedoch hervorragend.
Abstand nehmen sollte man als Python Programmierer vor allem von Büchern des Gallileo Verlags. Sieht man sich die Authoren an stellt man schnell fest dass es die selben sind welche auch die Java Bücher für diesen schreiben. Man merkt beim lesen schnell dass die Beispiele einfach vom Java Code in Python übertragen wurden ohne sich um die Konventionen zu kümmern, schlechter Syntax ist hier noch das geringste Problem, wenn dann Instanzen von Objekten erstellt aber wie in Java üblich, nicht wieder gelöscht werden stellt man schnell fest dass sich um das Buch wenig gedanken gemacht wurden und nur Geld das Ziel war.
Besonders das umfassende Handbuch des Verlages sticht hier ins Auge. Das Buch wurde damals zu Python 2 Publiziert und kurz darauf sowohl im Python Forum als auch in den Rezessionen bemängelt, es wurden Seitenweise Fehlerkorrekturen zum Quellcode selbst, dem verwendeten Synthax und den falschen Erklärungen. Was folgte war eine Python 3 Version des Buches unter geändertem Verlagsnamen vom selben Autor, dieses enthielt einige wenige Änderungen wie der Befehl print "xxx" welcher zu print("xxx") geändert wurde. Diese Änderungen konnte man jedoch an einer Hand abzählen. Das schlimmste daran war die Tatsache dass nicht nur kein Bezug auf neue Python 3 Funktionen genommen wurde wie es versprochen wurde sondern auch 100% der vorher bereits geposteten Fehler weiterhin im Buch auftraten.
__________________
1. Streite niemals mit Idioten, sie ziehen dich auf ihr Niveau und schlagen dich dann mit Erfahrung.
2. Wenn jemand denkt er hat die Oberhand, brich sie ihm.
|
|
|
Die folgenden 28 Mitglieder haben sich bei Erik/Schreier bedankt:
|
albigully (12.07.22), Alizahra (19.01.21), ArMogAtE (05.09.22), chibips3 (21.07.20), chilli01 (27.05.20), Coil360 (21.12.21), customservice (06.03.22), cutterman (16.11.19), Deserttry (27.04.22), Dirty62 (15.04.22), EmperorAttila (13.10.20), grafabflussrohr (30.05.21), Hans Reger (23.02.23), Kurfürst (06.11.21), L00KER (19.04.21), MacJoshi (16.06.20), madof (03.10.20), Meitlibei (16.10.21), ohrloch (23.03.22), oskarb (01.10.22), pati702 (22.01.22), ShiiRLoXX (15.06.20), sir2007 (02.06.20), Snickarz (10.09.20), T-Bone-Castro (16.01.21), talkie57 (26.03.19), TamPam (06.06.21), Wornat1959 (08.11.18) |
15.06.20, 03:08
|
#3
|
PornHarvester
Registriert seit: May 2009
Ort: Eizo Str 19
Beiträge: 29
Bedankt: 15
|
Zitat:
Zitat von Erik/Schreier
Warum einen ! Dialekt ! einer Programmiersprache verwenden welche vor 40 Jahren entwickelt wurde, keine Objektorientierung bietet und noch dazu Kommerziell ist?
Basic war damals beliebt weil es der einzige Weg war mit einem Heimcomputer eigene (Programme) zu schreiben. Das größte Problem in der heutigen Zeit ist jedoch nichteinmal die fehlende Objektorientierung sondern die Tatsache dass es dutzende Dialekte der Sprache gibt und man daher nur sehr schwer Dokumentationen und Tutorials findet.
Es gibt deutlich besser geeignete Sprachen welche den gleichen Umfang bieten und noch dazu sowohl standardisiert als auch Einsteigerfreundlich sind.
...
...
|
Bleib mal locker ! Du hast so viel geschrieben, daß ich schon dachte meine Entf Taste wäre kaputt, so viel musste ich entfernen damit ich mal nenn anständigen quote hinkriege.
Basic wurde vor 40 Jahren entwickelt und weiter ? Und der C artige Rotz mit seinen Affengriff Klammern ? Vor 30-40 ? Wo ist das Problem ?
Der Typ posted das PB anfängerfreundlich ist, und du klatschts nenn Roman hin, und schreibst Sachen über PB obwohl du keine Ahnung von PB hast !
Woher ich das weiss ?
Wenn du auch nur'n bisschen Ahnung von PB hättest, würdest nicht so'n Stuss schreiben von wegen
Zitat:
Das größte Problem in der heutigen Zeit ist jedoch nichteinmal die fehlende Objektorientierung sondern die Tatsache dass es dutzende Dialekte der Sprache gibt und man daher nur sehr schwer Dokumentationen und Tutorials findet.
Es gibt deutlich besser geeignete Sprachen welche den gleichen Umfang bieten und noch dazu sowohl standardisiert als auch Einsteigerfreundlich sind."
|
Nicht jeder Mensch braucht den Objektorientierungs Ramsch ! Vor allem wenn er schnell einsteigen will, und kleine bis mittlere Projekte hat.
Ich schreibe seit ü 10 Jahren mit PB, und vom xxx Site Bruteforcer, Proxy Scanner, bis zum Backup Tool. Mindestens 95% davon hab ich im Alleingang hingekriegt, alles mit'm PB Editor und der mitelieferten Hilfe. Mindestens 95% davon mit PB internen Befehlen, nix da mit fremd Libs von C (ja die kann mann ganz leicht in PB einbinden, genau so wie assembler und die winapi)
Und ich habe keine Sekunde diesen OOP Ramsch vermisst ! oder diese ätzend überladenen GUI's die bei C# usw dabei sind.
Die Dokumentationen von PB sind sehr ausgereift und verständlich, drück im Editor F1 und du findest alles mit schönen Beispielen und kategorisiert.
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
PB bietet die Vorteile von C (nur ohne Affen Griff Klammern -> {} )und Basic.
Statt kryptischen Abkürzungen die sich kein Schwanz merken kann, oder nur nach zig mal eingeben, gebe ich nur den Bruchteil eines Befehls (dessen Name schon die Funktion erklärt !) ein, und es poppt sofort ein Feld um den Befehl zu vervollständigen (So was's im PB Editor schon vor ü 10 Jahren, ist Serienmässig ab Werk !)
Code:
MessageRequester("Titel","Beschreibung",#PB_MessageRequester_YesNoCancel)
Oder einfach
MessageRequester("bla","bla",3)
ein Klick drauf, F1, und schon hat mann die gesammten Befehle die in die selbe Kategorie fallen vor sich.
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Wo soll PB nicht standardisiert sein ? Es hat alle Basic Schlüsselwörter, aber kombiniert mit der Syntax von C (nur ohne Kryptischen Müll)
Ist das C zeug etwa standardisiert ?
Warum greifen die meisten Leute zu dem C Ramsch von Microsoft ?
Weil sie da hoffen können das alles auch genau so dort funzt (weil es 393834 C Compiler gibt, und mindestens genau so viele GUI's dazu, aber mann findet ja nie verständliche Tuts, wo es auch mal um die gui+compiler geht den mann nutzen will)
Klatsch dir doch mal ein C auf'n Atari ST, daß einzige was da genau so funzt wie auf deinem PC dürfte eine kleine while wend, und for schleifen sein.
Ich kann meinen PB Code nehmen zu mit minimalen Anpassungen in Linux/BSD & auf'm Apfel benutzen ! Ich muss auch nicht 93845 Seiten aufsuchen um mal PB zu raffen, gibt nämmlich nur einen PB Dialekt, und genau 2 Editoren.
Also quatsch hier nicht rum von wegen nicht standardisiert.
Dutzende Dialekte von Basic gibt es also...........ja und dutzende sind sich ähnlich, kann mann eine, kann mann viele andere auch ! Genau wie bei C, also hör auf hier so typisch C Coder artig großkotzig daher zu reden.
Sprachen wie PB & Freebasic sind schnell und effizient, und haben mit dem was du typischer C Coder und "is ja kein oop, und nicht opensource" da von dir
ablässt, nicht mehr viel gemein.
Die vollständige API des OS wird unterstützt, und wenn das auch nicht hilft, nimmt mann sich halt eine C Lib
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
oder behilft sich mit Inline Assembler.
Alleine schon wie wenig Code mann in PB braucht um mal schnell ein Fenster mit na List + Events zu erstellen.
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Hat 3 Minuten auf meiner 7€ Schepper Tastatur von 2011 gedauert.
Und es geht noch kürzer wenn ich nur will, und ich bin bestimmt nicht der talentierteste Coder, aber die Sprache lässt einem Zig Möglichkeiten.
Na komm zeig mir mal eine deutlich besser geeignetten Sprachen.
Wie sehen die aus ?
So etwa ?
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Was für ein überladener Müll ! Echt da klickst dich ja kaputt, bis de endlich mal wirklichen Code geschrieben hast.
Weil erst mal 293834 Jahre herum eiern musst, weil all dieser überladene Mist einen nur ablenkt vom wirklichen Code.
|
|
|
15.06.20, 11:04
|
#4
|
Anfänger
Registriert seit: Apr 2015
Beiträge: 22
Bedankt: 9
|
Ich glaube keiner will hier eine Programmiersprache schlecht machen.
Ob ich jetz begin /end oder {/} schreibe ist , wenn man ordentlich arbeitet vollkommen irrelevant.
Die GUI ist ein Werkzeug, dass mir gefällt oder nicht und ich beliebig austauschen kann.
Wenn ich für mich selbst etwas programmiere, dann nehme ich das Werkzeug das am Besten zu meinem Problem passt UND dass ich in der Zeit, die ich dafür aufwenden will erlernen kann.
Wenn PowerBasic das kann, warum nicht (oder Modula oder Smalltalk oder Oberon oder andere exoten)
Aber wenn ich mit programmieren mein Geld verdienen will oder einfach technisch am Puls der Zeit bleiben will, dann habe ich ganz andere Anforderung.
Klar is OOP nicht für alles geeignet, aber ein guter Programmierer entwickelt eine Lösung fürs Problem und versucht nicht sein Problem in eine bekannte Lösung zu quetschen.
Von daher tief durchatmen und sich nicht angegriffen fühlen, jede Programmiersprache hat vor und Nachteile, aber Programmieren an sich ist ein komplexes Problem aufzubrechen und in eine logisch verarbeitbare Struktur zu übertragen.
Ich persönlich finde Programmiersprachen die mich einschränken am schlimmsten. Ich kann eine .net Applikation erstellen ohne jemals OOP anwenden zu müssen. Ich kann eine GUI mit Winforms anstelle von WPF machen (Dein Beispiel), dann ist das Formdesign ziemlich gleich wie in Basic (Dafür ist Rendering technisch gesehen ist eine Katastrophe)
Ich würde jedem Anfänger empfehlen, zuerst zu verstehen versuchen, wie ein Program funktioniert, was Typsicherheit ist, wieso manche Sprachen darauf verzichten und was Prozedurale, Eventbasierte und OOP Ansätze unterscheidet.
Alles andere ist Handwerk.
Ich kann auch ohne eine Ahnung von Elektrik mein Haus verkabeln und in jedes Zimmer ein Verlängerungskabel und Verteiler legen. Erfüllt den Zweck, aber es geht auch eleganter
Geändert von rorolowa (15.06.20 um 11:17 Uhr)
|
|
|
15.06.20, 14:08
|
#5
|
PornHarvester
Registriert seit: May 2009
Ort: Eizo Str 19
Beiträge: 29
Bedankt: 15
|
Zitat:
Zitat von rorolowa
Ich glaube keiner will hier eine Programmiersprache schlecht machen.
Ob ich jetz begin /end oder {/} schreibe ist , wenn man ordentlich arbeitet vollkommen irrelevant.
|
Ist es eigentlich auch, nur kommt mann besser an [] heran als an { } 
Aber ein guter Editor lässt einem auch die Wahl, ob {} als [] interpretiert werden soll oder nicht
Zitat:
Die GUI ist ein Werkzeug, dass mir gefällt oder nicht und ich beliebig austauschen kann.
|
Kannst du natürlich, sofern es genug gui's gibt, aber genau da kommt die Verwirrung rein, jede sieht anders aus, die eine will nur mit dem c compiler, die andere nur mit dem, und welches Buch oder tut am Ende nehmen sollst weist auch nicht. Der Einstieg ist einfach so beknackt bei C, wenn mann nicht zu dem Microdoof Müll greift, und dann muss mann all die Nachteile hinnehmen die einem Microdoof aufzwängt.
Zitat:
Wenn ich für mich selbst etwas programmiere, dann nehme ich das Werkzeug das am Besten zu meinem Problem passt UND dass ich in der Zeit, die ich dafür aufwenden will erlernen kann.
|
Verständlich, ich denke mal auch das ist der Grund warum so viele Purebasic Programmierer aus der C Welt kommen. C kann ja erst mal ohne Fremdlibs wirklich nur das allernötigste, und wenn ich z.B mal schnell ein FTP Tool schreiben will hab ich bei PB schon alles dabei, muss nicht erst irgendwelche Header includen usw.
Zitat:
Wenn PowerBasic das kann, warum nicht (oder Modula oder Smalltalk oder Oberon oder andere exoten)
Aber wenn ich mit programmieren mein Geld verdienen will oder einfach technisch am Puls der Zeit bleiben will, dann habe ich ganz andere Anforderung.
|
Wenn du damit Geld verdienen willst kannst du das auch, es ist nicht so das PB (Purebasic, nicht Powerbasic !. Da is'n großer Unterschied, zwischen beiden) das nicht technisch ermöglicht (Inline Assembler, vollständige API Unterstützung, Einbindung von C Libs, DirectX, Ogre, SDL, OpelGL usw) Aber die beknackte Wirtschaft mit diesem C Monopol zwingt ja einen förmlich dazu.
Du willst am Puls der Zeit bleiben ? PB hat nicht die Funktion von Haus aus die du suchst ? Dann nimmst halt eine C Lib dafür und gut is
PB muss technisch erst streiken wenn es darum geht ein OS zu schreiben. Menschlich schon wenn das Projekt sehr groß wird, und mann dann auf den OOP Kram angewiesen ist. Aber auch dafür bietet PB einen Ersatz, wahrscheinlich nicht so effizient aber immerhin.
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Zitat:
Klar is OOP nicht für alles geeignet, aber ein guter Programmierer entwickelt eine Lösung fürs Problem und versucht nicht sein Problem in eine bekannte Lösung zu quetschen.
|
Genau ! Sehr gut gesagt  Und genau desshalb ist C und all diese Sprachen mit diesen überladenen GUI's völlig ungeeignett um erst mal zu verstehen was da passiert.
Was kann denn C+/++ schon ohne erst mal die windows.h einzubinden ?
Code:
#include <windows.h>
MessageBox(NULL, _T("Goodbye, World!"), _T("Rosettacode"), MB_OK | MB_ICONINFORMATION);
Eigentlich fast nichts ! Selbst für nenn einfachen banalen Messagerequester muss ich was includen.
C ist so nackt ab Werk (C Fans nennen das einen Vorteil, es sei dann schneller und schlichter, nur zu blöd, daß Sprachen wie PB einen C Compiler benutzen, und somit genau so schnell und schlank sind) daß für alles erst mal irgendwas OS spezifisches eingebunden werden muss, oder eine der 5 Millionen Fremd Libs und deren Bugs eingebaut werden müssen.
Und genau desshalb sehe ich auch so viele C Programme die super aufwendiges Zeug wie Captcha Erkennung eingebaut haben (Fremd Lib halt) aber dann wurde an die simpelsten Dinge nicht gedacht. Da kann mann dann einfach die Proxy List mal sortieren während sie in Echtzeit von den Bots benutzt wird, und alles kackt ab ! Weil die Leute nur Copy & Paste und Gui zusammen klicken gelernt haben.
Schreibt mann seine GUI von Grund auf, ist mann zwangsläufig darauf angewiesen zu verstehen, wie eine Event Schleife aufgebaut ist, wann ich sie unterbrechen kann, wann nicht, warum nicht, was ein Callback Thread ist usw usw
Zitat:
Von daher tief durchatmen und sich nicht angegriffen fühlen, jede Programmiersprache hat vor und Nachteile, aber Programmieren an sich ist ein komplexes Problem aufzubrechen und in eine logisch verarbeitbare Struktur zu übertragen.
|
In erster Linie hat mich angekotzt das der nur weil einer eine leichte Sprache empfiehlt (der wollte a5r wollte nur helfen) gleich einen Roman in einem agressiven Ton ablässt, und PB in eine Schublade schmeist ohne Ahnung davon zu haben.
Zitat:
Ich persönlich finde Programmiersprachen die mich einschränken am schlimmsten. Ich kann eine .net Applikation erstellen ohne jemals OOP anwenden zu müssen. Ich kann eine GUI mit Winforms anstelle von WPF machen (Dein Beispiel), dann ist das Formdesign ziemlich gleich wie in Basic (Dafür ist Rendering technisch gesehen ist eine Katastrophe)
|
.net ist eine Krankheit ! Sorry aber es ist so, es gibt nichts wiederlicheres als einem User erst mal den .net framework Dreck aufzwingen zu müssen, nur damit ein kleines Tool läuft.
Ich könnte jedes mal in den Bildschirm schlagen wenn irgendwas .net braucht.
Klatschste 4.0 drauf, wird auch alles drunter installiert, einfach nur uneffizient und verschwenderisch. Alleine schon die 100k+ neuen Registry Einträge (davon wie viele Dateien dann die MFT von Windows aufblasen, und das Dateisystem langsamer machen will ich gar nicht erst anfangen) die dabei enstehen und Windows ausbremsen, nur damit mann ein an sich winziges Tool (das genau so winzig in jeder anderen Sprache wäre) benutzen kann.
Wieso sollte das Rendering eine Katastrophe sein ? Unter Vista haste halt die stinknormale Windows GDI/GDI+ und ab Vista kommt der WDDM,Direct2D Kram zum Einsatz.
Zitat:
Ich würde jedem Anfänger empfehlen, zuerst zu verstehen versuchen, wie ein Program funktioniert, was Typsicherheit ist, wieso manche Sprachen darauf verzichten und was Prozedurale, Eventbasierte und OOP Ansätze unterscheidet.
Alles andere ist Handwerk.
Ich kann auch ohne eine Ahnung von Elektrik mein Haus verkabeln und in jedes Zimmer ein Verlängerungskabel und Verteiler legen. Erfüllt den Zweck, aber es geht auch eleganter
|
Sehe ich genau so.
|
|
|
16.06.20, 15:54
|
#6
|
Anfänger
Registriert seit: Apr 2015
Beiträge: 22
Bedankt: 9
|
Zitat:
Zitat von Slut-Hunter
Wieso sollte das Rendering eine Katastrophe sein ? Unter Vista haste halt die stinknormale Windows GDI/GDI+ und ab Vista kommt der WDDM,Direct2D Kram zum Einsatz.
|
So weit ich mich erinnere behandelt Winforms jedes Control wie ein eigenes Fenster, sprich für jedes Control wird ein eigene Window-Handle erzeugt & verwaltet.
Geht ne Weile geht, aber irgendwann steht man vor ner Mauer.
Von daher der grosse Sprung zu WPF , dort gibts nur noch einen Handle pro form
|
|
|
16.06.20, 17:50
|
#7
|
PornHarvester
Registriert seit: May 2009
Ort: Eizo Str 19
Beiträge: 29
Bedankt: 15
|
Zitat:
Zitat von rorolowa
So weit ich mich erinnere behandelt Winforms jedes Control wie ein eigenes Fenster, sprich für jedes Control wird ein eigene Window-Handle erzeugt & verwaltet.
Geht ne Weile geht, aber irgendwann steht man vor ner Mauer.
Von daher der grosse Sprung zu WPF , dort gibts nur noch einen Handle pro form
|
Ich sehe das eher als ein Nachteil von WPF.
Wenn ich für jedes Control ein Handle hab, kann ich flexibler drauf zugreifen, versteckte Listen systemweit in Tools sichtbar machen, PostEvents systemweit senden usw
Wenn ich z.B den XUL Ramsch von Mozilla vor mir habe, könnte ich jedesmal abkotzen wenn ich nicht an das Handle von jedem Element komme, weil der Ramsch ziehmlich abgeschlossen in seiner eigenen Welt läuft.
Also bisher bin ich noch nie an die Grenze gestossen, selbst wenn ich mehrere hundert Images,ButtonImages etc geladen habe
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Im ersten Bild sind pro Reihe 180 Bilder/Frames (mit maximal 500x500, ist aspect ratio korrekt ausgerichtet) Also 540 Bilder + 540 ImageButtonGadgets, und es baut sich recht zügig auf.
Im zweiten Bild nach druck auf + werden die 180 in der ersten Reihe blitzschnell verschoben.
Im dritten bild dauert es den Bruchteil einer Sekunde um das Grid neuanzupassen (sobald eine Änderung an der Anzahl, werden alle alten Images + ImageButtons freigegeben, eine Matrix Calculation ausgeführt und entsprechend neue erstellt, und noch zig andere Sachen gemacht die die liste Links unten betreffen)
Im vierten Bild kann ich alle 3 Bilder (ja nur 3 Images. Es sind Frame Images. Von denen jedes Bild 180 Frames hat) gleichzeitig mit nicht messbar vorhandener Last mit 5ms Delay (also 5-6 x so schnell wie im Original) zwischen den Frames abspielen lassen. Selbst auf meinem uralt Single Core (ist sowieso ein Single Core Tool) 1,2ghz Pentium M Laptop auf'm Bett, würde das dank der guten 2D Beschleunigung von GDI (und entsprechender Grafikkarte die GDI noch wirklich nativ drauf hat, also alles unterhalb der uralten Geforce 8xxx Reihe) noch gehen.
Mein uralt AMD Phenom x4 945 Quadcore von 2010 läuft die meiste Zeit zwangs gedrosstelt und taktet nicht über 2,4GHZ pro Kern.
ps: File 1 (MPEG Original) File 2 (x264 Rip im Avi Container) und File 3 (der selbe x264 Rip nur im MKV Container) haben die selbe Länge, und Frame Anzahl.
Die dritte Reihe hat aber andere Frames sichtbar, weil die 3. Datei einen mkv container benutzt, und es da beim seeking Probleme mit VirtualDub & all dem FFmpeg Kram gibt.
Desshalb hab ich die Shift Funktion eingebaut, den manchmal gibt es auch zwischen MPEG Original und x264 in AVI & MP4 einen Versatz, von maximal 5 Frames.
__________________
Mit dummen Menschen zu streiten ist wie mit einer Taube Schach zu spielen. Egal wie gut Du Schach spielst, die Taube wird alle Figuren umwerfen, auf das Brett kacken und herumstolzieren als hätte sie gewonnen.
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:06 Uhr.
().
|