• Herzlich Willkommen!

    Nach der Schließung von inDiablo.de wurden die Inhalte und eure Accounts in dieses Forum konvertiert. Ihr könnt euch hier mit eurem alten Account weiterhin einloggen, müsst euch dafür allerdings über die "Passwort vergessen" Funktion ein neues Passwort setzen lassen.

    Solltet ihr keinen Zugriff mehr auf die mit eurem Account verknüpfte Emailadresse haben, so könnt ihr euch unter Angabe eures Accountnamens, eurer alten Emailadresse sowie eurer gewünschten neuen Emailadresse an einen Administrator wenden.

Ist Programmieren eigentlich schwer?

Bash/Lua -> Python/Perl/Ruby -> irgendwas anderes

Gerade, da du Linux verwendest, ist Bash oder Lua zu Beginn ein sehr guter Einstieg

Bash, damit du ein Gefühl für Syntax und dergleichen bekommst (ausserdem kannst du dir dann kleineres, alltäglich gebräuchliches Zeug durch einfache Scripte ersetzen)
Bash Intro - tldp.org

Mit Lua kann man objektorientiert arbeiten, man muss es aber nicht (und imho geht die Richtung weg von OOP hin zu funktional -> prädestiniert)
 
Was ist eigentlich mit Delphi? Hab mal damals ein Buch für ~5 Euro geholt, ähnlich wie eine Zeitschrift. Delphi hat den Vorteil, dass man das Fenster selber designen kann, sprich Buttons, Texteditor und all das kann man selber einfügen und deren Befehl dann selber bestimmen.

Hab damals immer paar kleine Spiele oder Programme damit gemacht. Ist auch ziemlich leicht zu lernen, wenn man die richtige Lektüre hat. Damals war ich noch in ein Delphi-Forum angemeldet, da bekam man auch immer ziemlich gute Unterstützung.
Man konnte da auch ne bestimmte Version kostenlos runterladen, bin mir aber nicht sicher ob die das noch anbieten.


In der Schule haben wir afaik auch mit Microsoft Visual Basic programmiert. War auch einfach zu lernen.
 
Darkster, deine Meinung über Python in allen Ehren, aber mit solchen Beispielen verzerrst du ein wenig das Bild. Es macht ja keinen Sinn, ausgerechnet ein Beispiel zu nehmen für eine Funktion, die in Python vielleicht Built-in ist (keine Ahnung, ob das für sum(array) gilt), die es in C so nicht gibt. Das ist sicher kein Maß für die "Kompaktheit", sondern höchstens für die Vielzahl eingebauter Funktionen.

Ich kenne Python nicht und ich will mich auch gar nicht festlegen, welche Sprache nun irgendwie besonders einfach zu lernen ist. Ich selber habe mit Basic auf dem C64 angefangen, wofür ich an der Uni belächelt worden bin. ICH habe die dort verwendete Sprache Modula-2 aber nie als Problem empfunden, während das für einige, die damals schon C konnten, durchaus der Fall war. Es geht beim Programmieren nicht um eine bestimmte Sprache, sondern um Prinzipien.

Deshalb ist es auch prinzipiell egal, mit welcher Sprache man beginnt, solange diese Sprache einigermaßen die typischen Konstrukte enthält wie if, while, case, Variablen, Konstanten, vielleicht noch Pointer und/oder Referenzen. Also sind z.B. funktionale Sprachen vielleicht nicht der ideale Einstieg, aber ob ich nun C, Pascal, Modula, Basic, Java, Python, Shell-Programmierung, PhP oder sonst was nutze, würde ich persönlich eher davon abhängig machen, wie einfach die Entwicklungsumgebung zu handhaben ist. Mich hat es zu Beginn meiner C-Karriere z.B. ungeheuer frustriert, dass ich seltsame Linker-Fehler bekam, die mit meinem Code gar nichts zu tun hatten. Von daher bietet es sich an, erst mal was zu nehmen, was ohne Compiler auskommt.

Anderes Beispiel: Es mag sein, dass es einfache Methoden in manchen Sprachen gibt, mit Arrays zu arbeiten, anders als z.B. in C/C++. Andererseits zwingt einen C dadurch, Arrays wirklich zu verstehen, wenn man damit etwas tun will. Der Lerneffekt ist ganz anders. Dafür hat C dann wieder Besonderheiten, die man einem Neuling eigentlich nicht antun will, z.B. das Fehlen von Strings oder einfachen Benutzereingaben, die einfach so funktionieren und nicht von System zu System anders implementiert sind.

Um programmieren zu lernen, würde ich persönlich daher empfehlen, sich jemanden zu suchen, der einem unterwegs helfen kann, z.B. indem man sich von ihm eine Entwicklungsumgebung einrichten lässt, auf der man ein Programm nicht nur schreiben, sondern auch problemlos laufen lassen kann. Das kann ein Linux sein mit einem Standard-Editor für Shell-Programmierung, das kann auch ein freies Visual Studio sein.

Sollte so jemand nicht zur Verfügung stehen, würde ich empfehlen, mal testweise einige der in Mengen verfügbaren Kurse runterzuladen und auszuprobieren, wie gut man reinkommt.

Und ein Wort zum Thema GUTE Programmierer. Sowas gibt es nicht ;)

Nein, im Ernst: ob ein Programmierer gut ist, hängt vor allem mal davon ab, was er eigentlich mit seinem Wissen tut und welche Ansprüche an seine Arbeit gestellt werden. Je nachdem, was man eigentlich tut, sollte man tiefergehende Kenntnisse entwickeln z.B. in Sicherheitsaspekte, Performance-Optimierungen, Datenbank-Anbindungen, Hardware-Ansteuerung, Grafische Darstellung usw. Da liegt noch lange nicht jedem Entwickler jedes Thema.

Zudem stellt professionelles Programmeiren typischerweise auch Ansprüche an Dokumentation, Wiederverwendbarkeit, Wartungsfreundlichkeit, Bedienbarkeit etc. der Software. Wenn in größeren Teams gearbeitet wird, wird es zunehmend interessanter, wie gut man sich in Disziplinen wie Analyse und Design auskennt. Und für manche Aufgaben braucht man theoretische Grundlagen, die man sich nicht so einfach selber erarbeitet (Berechenbarkeitstheorie, Stochastik, Compilerbau, Netzwerktheorie, Grafentheorie... und was es nicht noch alles gibt). Da ist dann schon ein Studium bzw. ein Ausbildungsberuf angeraten.

Übrigens: Wer Programmiersprachen wirklich mal in aller Schönheit sehen will, schaue dort unter "Browse Languages".
 
Zuletzt bearbeitet:
Also ich kann mich meinen Vorrednern eigentlich nur anschließen. Den perfekten Programmierer gibt es nicht. Und es wäre ja auch langweilig, wenn alles gleich auf Anhieb funktionieren würde ;).

Fang mit Visual Basic an. Der Einstieg ist leicht und man kann damit viel erreichen. Wenn du das drauf hast, dann kannst du zu anderen Programmiersprachen wechseln. Wie zum Beispiel C/C++ oder auch HTML. Denn ein guter Programmierer kann mehrere Programmiersprachen. Auch kommt es auf den jeweiligen Verwendungszweck drauf an. So denke ich mir zum Beispiel, kann man keine Homepage mit C++ programmieren. Dafür gibt es dann HTML.

Was man aber auf jeden Fall braucht, ist Ehrgeiz. Und man sollte sich von Niederlagen auch nicht frustrieren lassen. Denn: Es ist noch kein Meister vom Himmel gefallen :)
 
Darkster, deine Meinung über Python in allen Ehren, aber mit solchen Beispielen verzerrst du ein wenig das Bild. Es macht ja keinen Sinn, ausgerechnet ein Beispiel zu nehmen für eine Funktion, die in Python vielleicht Built-in ist (keine Ahnung, ob das für sum(array) gilt), die es in C so nicht gibt. Das ist sicher kein Maß für die "Kompaktheit", sondern höchstens für die Vielzahl eingebauter Funktionen.
Das liegt nicht direkt an Python, sondern an dessen Paradigma. Wie gesagt, ist damit auch funktionale Programmierung ohne weiteres möglich. Und dort gehört das dazu. Ich könnte dir einige andere Beispiele geben, aber grundlegend kann man es _immer_ auf "Das ist doch Built-in" reduzieren. In LISP muss man keinen Speicher allokalisieren, weil es eben Built-in ist. Das war damals einzigartig. Das "Built-in"-Set ist ja nichts anderes als eine Abstraktion.


Es geht beim Programmieren nicht um eine bestimmte Sprache, sondern um Prinzipien.
Gebe ich dir 100%ig recht, stand so aus im ersten Post. Die Prinzipien oder Paradigmen sind bei den meisten Sprachen sehr ähnlich. Z.b. die imperative Programmierung ist vorhanden in C, Java, Python, BASIC, etc. Die funktionale Programmierung hingegen ist eher wenig vorhanden, liegt wohl auch daran, dass es für erfahrene Programmierer im imperativen Bereich sehr schwer ist dort hinein zu finden. Dennoch haben die funktionalen Sprache sehr viele Vorteile gegenüber den imperativen. Dazu gibt es aber ne Menge Artikel, das braucht man nicht nochmals zu schreiben ;).

Nein, im Ernst: ob ein Programmierer gut ist, hängt vor allem mal davon ab, was er eigentlich mit seinem Wissen tut und welche Ansprüche an seine Arbeit gestellt werden. Je nachdem, was man eigentlich tut, sollte man tiefergehende Kenntnisse entwickeln z.B. in Sicherheitsaspekte, Performance-Optimierungen, Datenbank-Anbindungen, Hardware-Ansteuerung, Grafische Darstellung usw. Da liegt noch lange nicht jedem Entwickler jedes Thema.

Zudem stellt professionelles Programmeiren typischerweise auch Ansprüche an Dokumentation, Wiederverwendbarkeit, Wartungsfreundlichkeit, Bedienbarkeit etc. der Software. Wenn in größeren Teams gearbeitet wird, wird es zunehmend interessanter, wie gut man sich in Disziplinen wie Analyse und Design auskennt. Und für manche Aufgaben braucht man theoretische Grundlagen, die man sich nicht so einfach selber erarbeitet (Berechenbarkeitstheorie, Stochastik, Compilerbau, Netzwerktheorie, Grafentheorie... und was es nicht noch alles gibt). Da ist dann schon ein Studium bzw. ein Ausbildungsberuf angeraten.
Das stimmt. Vor allem gibt es den Programmierer heutzutage nur noch sehr selten. Sehr viel häufiger müssen es wirklich Softwareentwickler sein und eben den Entwicklungszirkel beherrschen. Das alte Wasserfallmodell hat sich ja auch nicht ziemlich bewährt: Team 1 macht Analyse, Team 2 den Entwurf, Team 3 programmiert, etc.

Die neueren Methoden wie Scum, XP bzw. der ganze Agilebereich kommen ja stärker und haben auch bessere Erfolgsquoten. Das Problem dabei, was man beim Wasserfallmodell nicht so sehr hatte ist, dass die Leute wirklich exzellent sein müssen und sich eben in sehr vielen Bereichen auskennen. Von den Projektmanagementansätzen bis hin zur Programmierung.

Jedenfalls, was ich noch sagen wollte, hab ja selbst schon häufig die Diskussion bzgl. der Sprache und deren Anwendung geführt. Es gibt zwei Phasen.

Lernphase
Hier ist es durchaus angebracht C zu lernen und sich malloc() selber zu bauen. Je mehr Verständnis für die Materie erlangt wird, um so besser.

Anwendungsphase
Hier sollte man das Wissen anwenden, aber auch schnell sein. Es hat keinen Sinn und Zweck, wenn man hier sein selbstgebautes malloc() nutzt und eine Webapplikation komplett in Assembler schreibt. In diesem Fall ist es vorteilhaft, wenn man auf bewährte Methoden/Libs setzt. Erhöht die Geschwindigkeit & mindert die Fehler.

Aus diesem Aspekt und der Aspekt, dass die meisten Leute nicht nur eine Sprache mal gesehen haben, lässt sich folgendes ableiten:
Für den Softwareentwickler von morgen sind zwei grundlegende Fähigkeiten gefördert. Er soll wissen über die Materie haben (Lernphase), soll aber auch wissen, wie man Software ökonomisch schreibt (Anwendungsphase).

Der Einsteig(!) in die Lernphase ist von Bedeutung. Man könnte natürlich von Bottom-up anfangen und sich mit Assembler alles mögliche aufbauen. Das macht Spaß, wenn man schon programmieren kann imho. Für einen Anfänger ist das meist mehr als frustrierend.

Alternativ könnte man Top-down anfangen. Das mag dem Codefetischisten sicherlich nerven, wenn er nicht 100%ig Kontrolle über die Register hat, dem Anfänger aber wird es gefallen, dass er sehr schnell auch größere Applikationen zusammenstellen kann.

Das ist auch meine Begründung für den Einstieg mit Python. Da muss man sich erstmals keine Sorgen um Register, Speicher oder Pointer machen. Wenn man sich fortbilden will, dann kann man C in Angriff nehmen oder LISP oder Forth. Falls man das nicht will, dann kann man wenigstens Applikationen in Python zusammenschustern und zwar mit GUI und Webinterface!


Ah da fällt mir noch ein. Es ist ja durchaus üblich für die Programmiercommunity, dass viele Leute versuchen den Anfängern Steine in den Weg zu werfen. Sieht man ja auch häufig in der Linuxcommunity ("Du musst schon mit LFS anfangen, sonst verstehst du doch garnicht, was du machst!"). Die Programmier- bzw. Linuxcommunity sind eben auch nur Bruderschaften im Virtuellen.
 
eiffel? klingt nach uni KA und muss echt nicht sein :)

ich weiss nicht, in welche richtung du dich orientieren willst.
aber eine sache an python (abgesehen davon, dass es ne coole sprache ist) die genial ist, ist die tatsache, dass es im kompletten grafik-bereich momentan zum quasi standard wird.

jedes grafik programm; ob 2D oder 3D, das was auf sich hält, ist inzwischen per python script- und programmierbar.

cheers

bigal
 
Hmm, also ich glaube für den Anfang wäre es für mich gut einen kleines Skript zu schreiben, nur leider weiß ich nicht wie das geht. Also seit ihr gefragt, nur zur Info: Ich habe ein Gentoo Linux mit Gnome. Und vielen Dank ihr schreibt hier ja richtig viel rein ;)
PS: Ich habe noch viel zeit um programmieren zu lernen und außerdem weiß ich gar nicht ob es mir gefällt, also ich glaub mal schon :D
 
Das C/++ einem nichts verzeiht meine ich in dem Sinne, daß es zum einen auf korrekte Syntax Wert legt. Prinzipiell (!) ist jede Variable typisiert, das duck-typing der "moderneren" Sprachen verwirrt anfangs mehr als es hilft. Gerade wenn man anfängt finde ich es wichtig, sich mit den Variablentypen auseinanderzusetzen und sich (zunächst) mal darauf verlassen zu können, daß in einer Variablen die ich mit int deklariere eine Zahl steht und kein Zeiger oder ein string. Weiterhin ist es sehr konsequent in der Ausführung, ich kann ohne Probleme aus dem Programm heraus den eigenen oder fremden Speicherbereich überschreiben. Man muß also eine gewisse Sorgfalt an den Tag legen und das finde zumindest ich persönlich, gerade anfangs sehr lern- und hilfreich.

Was Du über den Entwickler ansich sagst, ist ja richtig. Zumindest wenn man beruflich programmiert, da wendet man die meiste Zeit für Planung, Test und Rücksprachen auf, die Entwicklung selbst nimmt, besonders wenn man modular schreibt, dagegen noch am wenigsten Zeit ein. Programmieren als Hobby läuft aber etwas anders, solange man keine Riesenprojekte bewältigen will und allein arbeitet wird man auch kein Pflichtenheft abarbeiten müssen und getestet wird schon kontinuierlich während der Entwicklungsphase. Die Hauptzeit verbringt man dann mit lernen, probieren und modifizieren. Irgendwann werden die Projekte größer und man erkennt von ganz allein die Notwendigkeit der Planung im Vorwege.

Python kenne ich nur durch "gewisse" Leute aus dem IRC ;) - allerdings hat die Integration möglichst vieler Funktionen und die überaus simple Schreibweise auch Nachteile: Meist kann man von anderen Sprachen nicht einmal mehr die Quellcodes verstehen, die Performance leidet durch (für viele Zwecke) überflüssigen Ballast und letztendlich bleibt es eine Skriptsprache, die standalone nicht lauffähig ist sondern einen Interpreter benötigt, was ebenfalls zu Lasten der Performance geht. Die spielt im Hobbybereich wohl eher eine untergeordnete Rolle, sollte aber durchaus erwähnt werden.

Das obige Beispiel mit dem Array kann man btw. noch etwas verkürzen, allerdings kommen auch noch ein Include für Standard Input/Output sowie die main-function hinzu, so daß der Codebrocken eher noch größer wird. Dafür läufts nach dem Kompilieren und Linken ohne weitere Zusätze auf jedem x86 System und ist ohne Optimierungen "nur" 15k klein :p

Code:
#include <stdio.h>
int main(){
  int sum=0,values[]={1,9,2,10,18,11};
  for (int i=0;i<(sizeof(values)/sizeof(int));sum+=values[i++]);
  printf("Sum is %i\n",sum);
  return(0);
}
 
Die spielt im Hobbybereich wohl eher eine untergeordnete Rolle, sollte aber durchaus erwähnt werden.


Nur um das mal erwähnt zu haben. Bei meinem Nebenjob setzen wir für alles Python ein, wo die Sprache nicht von der Software vorgegeben wird. Und das sind durchaus größere Projekte, die an der ganzen Uni eingesetzt werden.
Geschwindigkeit ist nicht relevant in diesen Anwendungen und zum Teil programmieren wir auch so, dass eine gute Lesbarkeit des Codes über Performance gesetzt wird, weil die Scripte doch recht häufig angepasst werden müssen.

Ist also durchaus im "professionellen" Sektor einsatz- und konkurrenzfähig.

Wir haben auch C im Einsatz, weil das von der (uralten) Software so diktiert wird. Ist ne Plage, jeder drückt sich darum daran arbeiten zu müssen ;)

Oder, um aus Darksters Link zu zitieren :D
And, actually, the more you can avoid programming in C the more productive you will be.
 
Gut, sonderlich lesbar ist die Schleife nicht und auch der Verzicht auf Leerzeichen als Begrenzer machts nicht eben übersichtlicher. Aber Lesbarkeit des Codes würd ich nicht an der Sprache sondern am Stil und am allgemeinen Wissensstand der Beteiligten festmachen. Wissensstand nicht in Bezug aufs coden allgemein, sondern auf eine gemeinsame Sprache bezogen. Wenn da 3 oldschool-coder in C schreiben wird sich sicherlich niemand über mangelnde Lesbarkeit beklagen, ist letztlich eben auch eine Frage der Wartbarkeit allgemein, die durch Auslagerung von Konstanten, Funktionen und Header-Dateien in externe Module spricht. Wenn es allerdings wirklich sehr oft und grundsätzlich angepaßt werden muß, spricht vieles für eine Skriptsprache, da hast Du Recht.
 
In diesem konkreten Fall sind halt mehrere Leute (ich aus der Hobby-Ecke, Kollege aus der PHP-Ecke, ein anderer aus der Oldschool-Ecke) zusammengekommen und mit Python sind alle gut zurecht gekommen.

Wenn alle die Sprache kennen ist es natürlich egal. Aber mit Python werden die meisten Leute sehr schnell sehr gut zurecht kommen, egal was sie vorher programmiert haben. Fast jedes Paradigma ist unterstützt, die Sprachkonstrukte sind eingängig und die Syntax an die natürliche Sprache und Gewohnheiten von Programmierern (Einrücken z.B.) angelehnt.

Auch für die Einarbeitung von neuen Mitarbeitern (zuletzt: von mir) schön. Alles "unnötige"* übernimmt halt der Interpreter für dich (Speichermanagement, Garbage Collection, etc.) und man sieht recht schnell was der Programmierer "gemeint" (bzw. gedacht) hat, als er den Code geschrieben hat.

*bzw. das was "echte Programmierer" für "echtes Programmieren" halten :p
 
Das C/++ einem nichts verzeiht meine ich in dem Sinne, daß es zum einen auf korrekte Syntax Wert legt. Prinzipiell (!) ist jede Variable typisiert, das duck-typing der "moderneren" Sprachen verwirrt anfangs mehr als es hilft.
yy, da sieht man schon kuriose Dinge. PHP spielt da komplett mit. In einem Buch über PHP wurde folgender Performancetipp besprochen:
blabla, verwendet bitte nicht:
for ($i = "0"; $i <= "10"; $i++)
Es geht schneller, wenn man keine Strings benutzt, sondern Ganzzahlene:
for ($i = 0; $i <= 10; $i++)
Ich glaub in diesem Moment dachte ich mir nur "Was zur Hölle". PHP hat ja auch endlich goto eingebaut, von daher :ugly:

Meist kann man von anderen Sprachen nicht einmal mehr die Quellcodes verstehen, die Performance leidet durch (für viele Zwecke) überflüssigen Ballast und letztendlich bleibt es eine Skriptsprache, die standalone nicht lauffähig ist sondern einen Interpreter benötigt, was ebenfalls zu Lasten der Performance geht.
Da stimmt auch. Gerade im µC bzw. embedded Bereich wird es schwer überhaupt einen Interpreter zu finden der auf dem Chip läuft. Da ist natürlich C State of Art.
Bei anderen Anwendungen, mal abgesehen von der Systemprogrammierung (OS, Treiber, etc.), ist es abzuwägen, ob es sich wirtschaftlich rentiert.

Angenommen man hat zwei Teams.
Team 1 benutzt zufällige lowlevel Sprache, braucht zwei Jahre, aber das Programm läuft 150% schneller als von Team 2.
Team 2 benutzt zufällige highlevel Sprache, braucht ein halbes Jahr.

Mal abgesehen davon, dass der Marktstart vernachlässigt werden kann und es sich nur um inhouse Software handelt. Kostet Team eins 1/2 Jahresgehalt. Team zwei kostet 2 Jahresgehälter. Von der Differenz kann man sich meist genügend Server/Computer kaufen, um die Performance auszugleichen.

Ich habe oft erlebt, dass sich Programmierer nicht gern auf wirtschaftliches Arbeiten einlassen. "Nein, das Programm geht nicht raus, bevor nicht alle Bugs gefixt sind!"
Die meisten sind eben Künstler, aber auch da gibt es wieder massig Artikel darüber (Paul Graham [Künstler], Joel Spolsky [Hybrid], Jeff Atwood [Programmierer] und Eric Sink [Geschäftsmann]).

Dafür läufts nach dem Kompilieren und Linken ohne weitere Zusätze auf jedem x86 System und ist ohne Optimierungen "nur" 15k klein :p

Code:
#include <stdio.h>
int main(){
  int sum=0,values[]={1,9,2,10,18,11};
  for (int i=0;i<(sizeof(values)/sizeof(int));sum+=values[i++]);
  printf("Sum is %i\n",sum);
  return(0);
}
Touché :p

Code:
mov A,  #0
mov r0, #0 ; counter
mov r1, #0 ; sum

loop: jne r0, #6, addval
      jmp output

addval: mov dptr, #value
        mov a, r0
        movc a, @dptr + a
        add a, r1
        mov r1, a
        inc r0
        jmp loop

value: db 1h
       db 9h
       db 2h
       db Ah
       db 12h
       db Bh

output: call output_fun
Läuft mit Glück auf jeden von Siemens hergestellten 80C51 Microcontroller :ugly:
 
asm it! <3 <3

Wobei ich gestehen muß, daß ich Assembler nicht kann, sondern nur wirklich grob abschätzen, was ein code macht ;(

Zu der Sache mit den 2 Teams ... meist ist es aber so, daß sich an Abschreibungsfristen etc gehalten wird und vor allem wird neue HW erst dann gekauft, wenn sie wirklich notwendig ist. Aufgrund eines wachsenden Datenbestandes zB oder weil zusätzliche VMs etc benötigt werden. Das heißt, beide Teams starten mit dem, was aktuell vorhanden ist. Du kennst sicher die strahlenden Gesichter der Sachbearbeiter, die ganz außer sich sind weil Du ein Programm von ~ 4 Minuten Laufzeit auf ~ 30 Sekunden Laufzeit performiert hast? Oder gar einen dicken Brocken, der von irgendwelchen Mietlingen vor xx Jahren geschrieben wurde, ausgerichtet auf Datenvolumina die vor eben diesen xx Jahren aktuell waren und heute wegen timeouts nur noch im Batch lauffähig ist. Wenn mans schafft so etwas ohne DB-Änderungen wieder interaktiv lauffähig zu performieren, hat man sich seine Brötchen verdient. Finde ich. Außerdem befriedigt mich so etwas sehr und es bringt mir viel Spaß noch die letzten Millisekunden aus dem Code zu kitzeln ;)

Zu dem php-Beispiel: Wer als Zähler char verwendet gehört eh' erschossen. Und GOTOs sind schlimmer als *der freundliche Herr aus Braunau*. Als eine Art exit-Konstrukt bei sehr verschachtelten Schleifen lasse ich sie noch halbwegs gelten, allerdings hat in meinen Augen schon der verloren, der überhaupt soviele geschachtelte loops benötigt. Schachteln ist meist teuer (performanceseitig) weil in den meisten Fällen auch völlig sinnfreie und nicht gewollte Zustände durchlaufen werden müssen. Die meisten Hochsprachen liefern mit exit, break, return, continue, perform, check etc genug Hilfsmittel um auf goto verzichten zu können.

Wer übrigens unter Windovhs programmieren möchte und Interesse an C/C++ hat, kann sich Dev-cpp mal anschauen. GNU und scheint recht brauchbar, dabei klein und mit IDE.
 
Wer übrigens unter Windovhs programmieren möchte und Interesse an C/C++ hat, kann sich Dev-cpp mal anschauen. GNU und scheint recht brauchbar, dabei klein und mit IDE.
IST recht brauchbar! In Anfangseinstellung fällt in dieser Entwicklungsumgebung selbst einem Anfänger fast jeder Syntaxfehler auf.

Btw.: Assembler ohne push und pop? Selten gesehen :D
Meine Asm-Erfahrungen sind allerdings auch Amiga2000-alt ;)
 
IST recht brauchbar! In Anfangseinstellung fällt in dieser Entwicklungsumgebung selbst einem Anfänger fast jeder Syntaxfehler auf.

Dev-cpp hat mich nicht so überzeugt, ich fand vor allem das Debuggen damit eher mühselig. Als Alternative habe ich für mich code::blocks entdeckt (ebenfalls Open Source ;) )
 

"hi,

ich selber kann nicht programmieren, aber möchte es mal können. Ich will wissen ist es schwer?, also ob ein guter Programmierer, auch noch Probleme hat oder gar keine. Ist es schwer wenn mans kann?. Danke im voraus"


Aller Anfang ist schwer :P ..aber keine Sorge, wenn du wirklich willst, ist es halb so wild.


"Als Lernsprache designt war natürlich Pascal, die modernste Ausprägung ist Delphi."



Das Wort "war" schmerzt mich^^ Ich halte PASCAL, egal in welcher Variation, als die ideale Einstiegssprache zum lernen.


Besonders vor dem Hintergrund:
Wikipedia
"Die wesentlichste Ursache für Pufferüberläufe ist die Verwendung von Programmiersprachen, die nicht die Möglichkeit bieten, Grenzen von Speicherbereichen automatisch zu überwachen, um eine Bereichsüberschreitung von Speicherbereichen zu verhindern. Hierzu gehört besonders die Sprache C" :P


Wenn du lernen willst zu programmieren, dann kann ich dir nur PASCAL empfehlen.

Für die ganz schnellen Erfolge, besonders für die jüngere Generation, sei dir MIDLET-PASCAL empfohlen. Damit kannst du recht leicht Handy-Programme schreiben und auch Freunde mit deinen Fortschritten beeindrucken.

Für den PC gibts auch Pascal-IDEs(FreePascal) und auch BLITZ-BASIC ist für Anfänger geeignet.


Also. Keine Scheu. Probier es aus und such die Foren der entsprechenden Sprache auf!
 
Blitz-Basic, Pascal

Warum nicht gleich ALGOL oder LISP? :~
 
Zurück
Oben