-
Re: Halb-OT: Prozedural oder OOP anfangen?
Autor: Deff-Zero 25.09.18 - 18:51
Astorek schrieb:
--------------------------------------------------------------------------------
> Ich frage mich, ob man dem entgegensteuern könnte, wenn man relativ früh
> OOP ansich lernt?
Dann hast Du vergleichbare Probleme, wenn Du deine erste Funktionalsprache lernen willst und dann nicht mehr aus der imperativen "OOP-Denke" rauskommst. Irgendwas ist halt immer... -
Re: Halb-OT: Prozedural oder OOP anfangen?
Autor: Deff-Zero 25.09.18 - 18:56
MadCat_me schrieb:
--------------------------------------------------------------------------------
> zilti schrieb:
> ---------------------------------------------------------------------------
> -----
> > Denkt doch auch mal an functional programming! :)
>
> Volle Zustimmung. Muss ja auch nicht gleich Haskell sein.
Doch, eigentlich schon.
> Man kann auch mit
> JavaScript oder Ruby einigermaßen funktional entwickeln, um mal in die
> Denkweise reinzukommen.
Nein, ich kenne viele erfahrene OCaml-Programmierer, die Funktionalsprachen und deren Konzepte nur halb verstanden haben. Einfach aus dem Grund, weil OCaml es immer noch erlaubt im Prinzip weiter C zu programmieren - nur halt sicherer, weil ohne Zeiger. Mit Javascript, Ruby etc wird das nicht anders sein. Man programmiert nicht funktional nur weil man einmal "map" oder 'reduce" aufgerufen hat. Bei weitem nicht.
Daher am besten ins kalte Wasser springen und Haskel, Idris oder andere pure Sprachen lernen. -
Re: Halb-OT: Prozedural oder OOP anfangen?
Autor: Anonymer Nutzer 25.09.18 - 19:58
OOP ist ein Konzept und erstmal nicht an eine Sprache gebunden (klugscheiss). Die allermeisten "Probleme" lassen sich de facto prozedural lösen - und werden auch prozedural gelöst. Auch in einer OOP-Sprache. Ob ich eine Routine als "Prozedur", "Funktion" oder "Methode" bezeichne... ist erstmal ziemlich egal.
Ich kenne genügend Leute die eine OO - Orthodoxie mittlerweile ablehnen und gemischt fahren. Zitat eines Kollegen: "Ich lüge mir nicht länger in die Tasche. Nur weil ich mit C# oder Java 'ne Methode schreibe und aufrufe ists nicht objektorientiert". -
Re: Halb-OT: Prozedural oder OOP anfangen?
Autor: korona 26.09.18 - 00:02
Am besten eine Sprach nehmen mit der Man alles programmieren kann. Theoretisch geht das mit fast jeder OOP Sprache. Schließlich kann ich da auch alle Klassen und Objekte weglassen und eine riesige Main mit Funktionen vollspicken. Leider hat man dann meistens zwar großen Overhead.
In der Uni haben wir mit einer Lernsprache angefangen, die erstmal nur Prozedural und Funktional arbeitete. Der Pluspunkt ist man lernt erstmal viele Grundlagen, die man auch in OOP Programmierung benutzen kann (z.b. Rekursive Funktionen).
Danach sollte man sich meiner Meinung mit OOP beschaffen, da OOP meiner Ansicht nach einfach noch eine Schüppe oben drauf legt. Leider kann z.B. Java nicht so gut mit Funktionen umgehen, aber dafür z.B. Scala oder Python.
Ich würde allen empfehlen sich alle gängigen Programmierkonzepte anzuschauen. Viele Ideen davon kann man auch in anderen Konzepten unterbringen. Zum Beispiel liebe ich bis heute rekursive Funktionen, obwohl diese oft Probleme liefern (Stack Overflow ich hör dich rufen). -
Re: Halb-OT: Prozedural oder OOP anfangen?
Autor: 0xDEADC0DE 26.09.18 - 13:37
Sehe ich ähnlich aber nicht exakt so.
1. Auch prozeduraler Code kann übersichtlich aufgebaut werden, indem man eben nicht einen langen Roman schreibt, sondern Funktionen in eigene Subroutinen auslagert und die aufruft. Erhöht die Übersicht, macht es leichter debuggbar, etc.
2. OOP fällt mir heute auch noch sau schwer, auch dieses ganze Klassengedöns, weil ich das nie richtig gelernt hatte ABER auch nie wirklich gebraucht habe. Es wäre daher von Vorteil, wenn man das von Grund auf richtig lernt und den Unterschied am Anfang versteht, sich dann aber am besten spezialisiert.