Krautkanal.com

Veröffentlicht am 2017-01-11 15:52:3 in /prog/

/prog/ 9744: Ich möchte bloß programmieren, um ein bissch...

a_khadeko Avatar
a_khadeko:#9744

Ich möchte bloß programmieren, um ein bisschen Spaß zu haben.

Welche Programmiersprache eignet sich also am besten für schwungvolles Hobbyprogrammieren?

Der Schwierigkeitsgrad darf auch gerne viel Luft nach oben haben.

rahmeen Avatar
rahmeen:#9745

Python ist ziemlich schwungvoll. C wäre anspruchsvoller, aber möglicherweise weniger schwungvoll. Rust bietet eine gute Mischung.

herrhaase Avatar
herrhaase:#9746

>>9744
Ada, C, COBOL und PHP ohne Frameworks, da kommt man sich vor als würde man wirklich etwas schaffen.
/faden

_vojto Avatar
_vojto:#9747

Javascript

ryandownie Avatar
ryandownie:#9749

>>9744
Ich nehme an mit "schwungvoll" meinst du, dass du schnell schöne Ergebnisse haben willst. In einem solchen Fall rate ich dir zu irgendeiner einfachen Scriptsprache wie Python oder JavaScript mit Node.js (drinvor HURR DURR, Hipsterkrebs). C ist definitiv nicht schwungvoll, aber man kommt sich kühl vor. Rust ist meiner Meinung nach fast so schwungvoll wie Assembler. Der Compiler toleriert keinerlei Fehler und wird dich wahnsinnig machen.

vikashpathak18 Avatar
vikashpathak18:#9755

>>9746
>PHP
Letzte Warnung.

irsouza Avatar
irsouza:#9757

>>9755
a. das war Sarkasmus, hätte sogar ein durchschnittlicher Mod wie er im Buche steht erkennen können
b. das letzte Mal, als ihr Fagottspieler mich - zu Unrecht - für 3 Wochen gebannt hattet, hat das exakt 1 Tag gehalten

greenbes Avatar
greenbes:#9758

>>9755
>>9757
c. wieso ersetzt ihr PHP nicht mittlerweile durch dyd ?

thierrymeier_ Avatar
thierrymeier_:#9764

>>9755
Warum ist diese Programmiersprache so in die Unbeliebtheit geraten?

andina Avatar
andina:#9765

Besorg dir Delphi. Ist sehr lustig String Bearbeitung zu betreiben, wenn die hälfte der Stringfunktionen 0 indiziert sind und die andere hälfte 1 indiziert.
+ Punkte für die Embacadero IDE, die macht einen nur teilweise Wahnsinnig.
Warum kann man nicht einfach C# nehmen und Spaß haben, /c/?

andina Avatar
andina:#9766

Lerne Common Lisp!
- Schnelle Lernerfolge dank minimaler und einfacher Syntax
- Programmieren, ohne dass man sich irgendeinem bescheuerten Paradigma unterwerfen muss.
- Unbegrenzte Möglichkeiten dank flexibler Syntax, Makros, Domain Specific Languages, etc. Bydon kann nicht mal inzu Multi-Statement-Lambdas
- Batterien sind enthalten

davidsasda Avatar
davidsasda:#9767

Python oder Java wegen Bekanntheit und Tools. Fertig.

zacsnider Avatar
zacsnider:#9770

>>9749
>>9746
Ist C++ nicht besser als C weil OOP?

snowshade Avatar
snowshade:#9771

>>9770
Nicht unbedingt. Objekte und Vererbung kannst du auch in C haben.

krdesigndotit Avatar
krdesigndotit:#9772

ruby

krdesigndotit Avatar
krdesigndotit:#9773

>>9766
>Schnelle Lernerfolge dank minimaler und einfacher Syntax
Bullenkot. Common Lisp ist aufgebläht wie Fick. Versuch mal bei def, defun, setf, setq und co. den Überblick zu behalten.

>Programmieren, ohne dass man sich irgendeinem bescheuerten Paradigma unterwerfen muss.
>Der gesamte Code besteht aus einer einzigen geschaltelten S-Expression
Wähle eins.

>Unbegrenzte Möglichkeiten dank flexibler Syntax, Makros, Domain Specific Languages, etc. Bydon kann nicht mal inzu Multi-Statement-Lambdas
Implizierend man bräuchte den ganzen Scheiß.

_zm Avatar
_zm:#9776

>>9770
Dscheiße, mit diesem Pfosten ist so viel falsch

Also erstens ist OOP alles andere als gut. Das mit dem strukturierten-Kot-Mem mag sich zwar in der Uni fol tol anhören wenn der Prof das Anhand von zwei Klassen Pinguin und Adler erklärt, die beide von der Fokel-Klasse erben, das hat aber mit (semi-)professionellen Programmieren nur wenig zu tun. Die ganzen Leute, die OOP aufs Letzte verteidigen, sind die, die nicht einmal verstehen, dass das was sie machen, mit dem OOP-Paradigma nichts zu tun hat. Frage mich mittlerweile sogar, ob meine früheren Profs überhaupt OOP verstanden haben. Striktes OOP ist immer schlecht. Viel Spaß wenn du irgendwann wegen Duck typing mit Reflections jonglieren musst, oder dir überlegst ob du nicht gleich ein Framework schreibst, nur um irgendwelche Hilfsklassen für Transportobjekte automatisch zu generieren. Beim Programmieren geht es in erster Linie um Verhalten und Zustände. Beides sind zwei verschiedene Sachen. OOP kommt jetzt auf einmal an und bindet die Beiden fest aneinander. Warum? Fragen!!! (Stichwort: Anemic Model Domain)

Gottseidank ist C++ nicht so dumm wie Java und forciert kein OOP
C++ ist besser als C - allerdings nur wenn man es beherrscht. Die Komplexität alleine kann einen dazu verleiten, dass der Kot am Ende wie ein Verkehrsunfall aussieht. Besonders wenn man unstrukturiert vorgeht und sich nicht an bestimmte Patterns hält. Das haben mächtige Werkzeuge halt so an sich - schwer zu meistern aber das Resultat ist oft unvergleichbar. Allerdings muss ich hierbei unbedingt anmerken, dass mit C++11/14 und jetzt bald 17 vieles unglaublich besser geworden ist. Die Zeiten in denen man sich mit Kotkadavern wie managed C++ rumschlagen musste, sind lange Geschichte. Außerdem ist meiner Meinung nach C für Anfänger sehr gut geeignet, da man sich Anfangs in erster Linie mit hardwarenahen Sachen (wie z.B. Pointer, Memory Management) auseinandersetzt und nicht wie bei Java (oder gar funktionalen Schrott wie Haskell - FP Bernd darf diesen Pfosten erst kritisieren, wenn er mal mehr als einen Taschenrechner baut) mit abstrakten Sachen wie Objekten, Interfaces oder gar Monaden.

Würde eigentlich jedem empfehlen, der wirklich programmieren will, mit C anzufangen und sobald die Grundlagen verstanden wurden auf C++ zu wechseln. Man sollte sich schon früh abseits der Beispiele bewegen, wie man sie in den üblichen Schinken findet. Bringt einem kaum was nach 6 Monaten noch immer mit Konsolenanwendungen hantieren zu müssen, weil man nichts anderes lernt als einen eigenen Regex-Parser zu schreiben. Das ist langweilig und sinnlos. Lieber sich externe Libraries und GUTE Tutorials für eigene Projekte suchen, damit man auch mal ein schönes Ergebnis hat. Die meisten Leute geben auf, weil es einfach zu langweilig bleibt. Hello World mag in der ersten Woche noch toll sein, danach aber auch nicht mehr. Kann z.B. diese Serie empfehlen, Bernd kann lernen wie man eine eigene OpenGL 3D Engine schreibt: https://www.youtube.com/watch?v=Pid8JGlBdPY

Java kann für Anfänger auch ok sein - wenn man das Ganze hobbymäßig betreibt.

Liebe Grüße aus der Enterprise-Hölle

1markiz Avatar
1markiz:#9801

Python natürlich: http://www.diveintopython3.net/installing-python.html
Viel Spaß.

axel_gillino Avatar
axel_gillino:#9811

>>9767
Dies.

sketi_ndlela Avatar
sketi_ndlela:#9820

Je nachdem, wie weit du das treiben willst, denk doch echt mal über "funktionalen Schrott wie Haskell" nach. Im ersten Semester hielt mein Prof die Einführung in die praktische Informatik in Haskell. Auch wenn das halbe Semester arschmett war, fand ich es ganz interessant. Die Begründung war damals, dass mit Haksell niemand einen Nachteil hat, weil quasi jeder von null anfangen muss. Gleichzeitig haben diejenigen, die vorher schon programmiert haben keine Vorteile. Da du keine Erfahrung hast, ist das für dich quasi genauso.
Falls du wirklich vorhast, ein guter Informatiker zu werden, ist es egal, mit welcher Progtrammiersprache du die Konzepte lernst. Falls nicht, ist es auch egal. Lediglich für den komischen Zwischenschritt, dass du mehr als ein bisschen Hobbyprogrammieren willst, aber weniger als ein voller Informatiker sein willst, ist die Programmiersprache wichtig. Dazu zähle ich jetzt reine Programmieraffen, die Ideen in effizienten Code umwandeln (versuch es gar nicht, die Inder sind da viel zu günstig und auch wirklich gut, solange sie nicht selbstständig denken müssen) und Leute, die für ihren Beruf programmieren müssen, aber das eher ein Werkzeug ist. Die meisten Physiker haben noch nie von Clean Code gehört. Wenn dem so wäre, würdest du aber nicht fragen, sondern einfach C++ oder Java lernen, weil das eben das ist, was du in deiner Branche brauchst.

Also ernsthafte Empfehlung: Guck dir mal Haskell an.

HenryHoffman Avatar
HenryHoffman:#9823

OOP oder nicht macht für einen Beginner kaum einen Unterschied.

Unterschied zwischen einem Programm mit 1 Klasse und einem Programm mit 0 Klassen ist so ungefähr nichts.

nehemiasec Avatar
nehemiasec:#9860

>>9776
>oder gar funktionalen Schrott wie Haskell - FP Bernd darf diesen Pfosten erst kritisieren, wenn er mal mehr als einen Taschenrechner baut
Deinen Pfosten find ich weitestgehend prima, aber du bist ein Spasti. Schreibe Backends fuer Js-Apps in Haskell. Robust und performant wie fick. Was gibt es denn auszusetzen?

i3tef Avatar
i3tef:#9861

>>9860
Nicht-Vor-Bernd:
Alles kann einen Request entgegennehmen und etwas Text ausgeben kann, kann dazu verwendet werden, von daher ist Webentwicklung wirklich nicht zur Beurteilung von Programmiersprachen und deren Ökosystem geeignet.

ayalacw Avatar
ayalacw:#9862

>>9744

python
/faden

mandalareopens Avatar
mandalareopens:#9863

>>9861
>insinnuierend es sind noch die 90er

tube_man Avatar
tube_man:#9864

>>9860
>performant
Ahahaha.

albertaugustin Avatar
albertaugustin:#9865

>>9863
>implizierend, das Grundprinzip hat sich geändert
Ob man jetzt normale Requests oder Websockets beantwortet ist egal.

ryanjohnson_me Avatar
ryanjohnson_me:#9866

>>9865
Da tun sich ein Haufen Fragen auf. Z.B.: Warum diktiert die API dir die Funktionalität deines Servers. Oder: Weshalb hast du dieses Problem nur in der Webentwicklung, aber nicht wenn du Swing benutzt auf deiner Windows 95 Lauerkiste.

itskawsar Avatar
itskawsar:#9867

>>9866
Spielt keine Rolle, Bernd. Das drunterliegende Prinzip ist immer das gleiche. Ernstzunehmende, Interaktivität handhabende Struktur ist bei Webbrohjekten eh nicht vorhanden und wenn überhaupt so etwas wie Struktur vorhanden ist, dann ists meist eine künstliche Meme/Enterbrise-Architektur.

snowwrite Avatar
snowwrite:#9869

>>9867
t. Sysadmin in der KFZ-Werkstatt Holger Schmidt & Söhne

ffbel Avatar
ffbel:#9870

>>9869
t. Webhipster, der die unterliegende Technik nicht versteht

andrewgurylev Avatar
andrewgurylev:#9871

>>9870
Interaktivität ist bei Web-Kram normalerweise ein AJAX-Request, das erst ein Ergebnis liefert, wenn der Server einen aktuelleren Datenbestand hat.

crhysdave Avatar
crhysdave:#9873

>>9871
Ein AJAX-Request ist auch nur ein normaler Request.

buddhasource Avatar
buddhasource:#9874

Webentwicklung ist perfekt für dich.
Das fängt mit kleinen hässlichen HTMLonly Seiten an, und wenn du irgendwann Jedi Webmaster bist, kannst du dich ja mal an komplexere CMS Systeme wie ein Forum o.ä. heranwagen.

Ich bin z.b. Mitglied in einem komplett selber gecodeten Forum, welches seit 2003 besteht. Viel schöner als der ganze Internetkrams ^^
(Und natürlich besser für deine Bedürfnisse optimiert )

christianoliff Avatar
christianoliff:#9875

>>9874
> komplexere CMS Systeme wie ein Forum

Prog war auch mal besser. Da waren noch 3 gute Informatiker hier. Jetzt keiner mehr

likewings Avatar
likewings:#9879

ich frage mich, warum python noch nicht erwähnt wurde?

mandalareopens Avatar
mandalareopens:#9880

>>9874
>Programmieren
>Web-Kacke
Wähle eines.

Vielleicht solltest du dir mal Python anschauen.

antongenkin Avatar
antongenkin:#9884

>>9874
So viel Krebs in einem Pfosten haben wir selten auf /prog/

Nice

clementc Avatar
clementc:#9897

>>9871
Lies besser nochmal, was AJAX ist.