Informatik lernen: Vorschläge für den nächsten Schritt

Mitglied seit
19.03.2002
Beiträge
2.539
Reaktionen
11
-> Head First - Design Patterns und ein gutes Buch über Algorithmen

Lern Programmieren nicht eine Programmiersprache. Was du nimmst bzw. später verwenden wirst hängt davon ab, was der Info-Chef persönlich toll findet / mit aufgewachsen ist, alles andere an Diskussion ist lächerlich, weil die Unterschiede am Ende zu gering sind um darüber abzugehen. Der Rest ist idR. persönliches Interesse, kannst dir bei Algorithmen halt erstmal möglichst breiten Überblick verschaffen und dann speziell angucken, was dich interessiert wie zB. Kryptographie.

Ansonsten lern noch, wie man Server in Windows und Linux installiert und administriert, einschließlich SQL DBMS, sowie Mail-Server, DNS-Server und File Server.
 
Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
folgendes sind gute Indikatoren, sich sein Post vor dem Absenden noch ein zweites Mal durch den Kopf gehen zu lassen:
- "Ich hatte XYZ 1 Semester" (in der Zeit kann man never auch nur die Basics abschliessen)
- "Ich habe mal irgendwo gelesen, dass ..."
- "Du hast keine Ahnung" (meist ein guter Indikator, dass man selbst keine Ahnung hat)
- auf "Du hast keine Ahnung" antworten mit "Nein, du hast keine Ahnung" (zeigt nicht nur einen Mangel in Wissen und Erfahrung (~=Ahnung), sondern auch einen in objektiver Argumentation und sozialer Kompetenz)

@Albstein: Korrekt. Zu Planen ist wichtig. Gerade in der Webentwicklung wird aber auch viel XP gefahren, mit großem Erfolg. Das wiederum bedeutet schnelles, inkrementelles Deployment.
Beides lässt sich imo nur schwer unter einen Hut bringen.
 

Shihatsu

Administrator
Mitglied seit
26.09.2001
Beiträge
46.400
Reaktionen
8.851
also, nebem dem ganzen social engeneering thema, das mich direkt betrifft für arbeit und mir altem paranoiker natürlich extrems gelegen kommt, und dem ganzen hardware-gedöns, das ich einfach so toll finde, bleib ich persönlich zwangsläufig immer bei irgendwas hängen. ich sachs mal so: fang erstmal an zu arbeiten mein jung, da hört das von selber suchen ganz schnell auf (wenn nicht, ist dein job nicht wirklich anspruchsvoll). ich hab mir zb neulich zwangsläufig die effizienz von verschachtelten ifs bzw cases, die loc-effizizienz dessen und die wartbarkeit angeschaut und musste das für anzugträger aufbereiten - nach sowas sucht man nich freiwillig^^
 

The_Company

Guest
Original geschrieben von Eeth
Habe Lust mal etwas größeres in .net inkl. silverlight zu machen und will schauen wie ich da so zu rande komme.
Wenn Du programmieren lernen willst, ist die einzige Moeglichkeit dazu, dass Du was programmierst. Und wenn, dann lern es ichtig. Such Dir nen 100k+ Zeilen Open Source Projekt und mach mit. Dabei ist es egal, ob das Mozilla, Django, der Java Compiler, nVidia Triber fuer Linux oder sonstwas ist. Hauptsache ist, es nicht nicht dein eigenes Ding, das sonst keiner kennt. Denn mit sowas hast Du danach nicht nur Ahnung vom Programmieren, sondern auch von Workflow, Bug Triage, Project Management, etc.
Und den Kleinkram, den Du in Deinem ersten Post aufgelistet hast, den lernst Du praktisch nebenbei. Weil Du ihn brauchst, um Deine Probleme zu loesen.
 
Mitglied seit
03.08.2002
Beiträge
3.193
Reaktionen
0
Original geschrieben von The_Company
Wenn Du programmieren lernen willst, ist die einzige Moeglichkeit dazu, dass Du was programmierst. Und wenn, dann lern es ichtig. Such Dir nen 100k+ Zeilen Open Source Projekt und mach mit. Dabei ist es egal, ob das Mozilla, Django, der Java Compiler, nVidia Triber fuer Linux oder sonstwas ist. Hauptsache ist, es nicht nicht dein eigenes Ding, das sonst keiner kennt. Denn mit sowas hast Du danach nicht nur Ahnung vom Programmieren, sondern auch von Workflow, Bug Triage, Project Management, etc.
Und den Kleinkram, den Du in Deinem ersten Post aufgelistet hast, den lernst Du praktisch nebenbei. Weil Du ihn brauchst, um Deine Probleme zu loesen.


??
ich will doch gar nix neues lernen. ich habe bereits an großen opensource projekten gearbeitet, welches aber hauptsächlich nichts mit webprogrammierung zu tun habe, das habe ich in meinem beruf gemacht.

will es mir nur genauer anschauen.

€: achja gwt ist schwul.
 

Didier

Guest
Original geschrieben von Eeth

Mal unter uns: Python ist doch ein Witz?
Hatte das mal als Seminar besucht, da ist HTML anspruchsvoller :)

Eine gute Programmiersprache macht es Deiner Meinung nach also aus, dass sie nicht einfach zu schreiben bzw. zu lernen sei? Wie konnten wir nur je von den Lochkarten wegkommen?

Versteh mich nicht falsch. Ich mag Python zwar, sehe aber natürlich auch die Probleme. Der Sprache jedoch vorzuwerfen, dass sie einfach zu lernen, schreiben und lesen ist, ist einfach nur absurd ...
 
Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
Ich werfe Python auch vor, dass es einfach zu lernen ist. Und ich werfe dem BDFL sogar vor, dass er das mit Absicht so gemacht hat.
Warum soll eine Sprache gut sein, wenn sie schwer zu lernen ist? Ich finde einige Ideen die hinter Lisp stecken ziemlich cool. Dass damit auch gute Tools entstehen sieht man z.B. an Emacs. Aber aus meiner Sicht hindert die Sprache selbst daran, dass man es gut lernen und schnell anwenden kann.

@Company: Ich spiele schon länger mit dem Gedanken statt immer nur was zu lernen, auch mal aktiv an nem OS Projekt teilzunehmen. Genau diese Projektverwaltungssachen kann ich nämlich auch nicht wirklich anwenden. Danke. Das war der tritt in die richtige Richtung, auch wenn ich gar nicht gemeint war. :D
(&@Shiha natürlich auch ;))
 
Mitglied seit
18.08.2002
Beiträge
2.513
Reaktionen
160
Also die Punkte, die im Eingangsposting angeführt sind, habe ich mir schon weitgehend angeeignet bzw. war beträchtlicher Teil des Studiums. Unabhängig vom Einsatzzweck find ich die Beherrschung verschiedener Programmierparadigmen insb. logisches/funktionales Programmieren sehr sinnvoll.

Natürlich lern ich primär das, was ich beruflich brauche oder bald brauchen werden und das, was mich privat interessiert. Ich muss mir eigentlich recht häufig neues Wissen aneignen, da brauche ich mir jetzt keine Checkliste machen ;) .

btw. Python ist klasse. Vielleicht keine Sprache für Enterprise Anwendungen, aber fürs Rapid Prototyping hervorragend geeignet, bzw. generell, wo Entwicklungsgeschwindigkeit im Vordergrund steht und nicht so sehr Performance oder Codestruktur.
 
Mitglied seit
21.09.2004
Beiträge
2.070
Reaktionen
0
Hat jemand von den Leuten die (gut) Java können mal ca. 30minuten zeit um meine Fehler in der Hausaufgabe zu finden?
Ist nicht wirklich viel, 1 woche java bisher gehabt und sollen nun eine Datenbank shreiben, aber irgendwie will kein einziger der junit Testcases (die vorgegeben waren) funktieren und ich weiß nicht warum ^_^
Icq oder irc wären optimal ^^
 
Mitglied seit
03.08.2002
Beiträge
3.193
Reaktionen
0
Original geschrieben von Didier


Eine gute Programmiersprache macht es Deiner Meinung nach also aus, dass sie nicht einfach zu schreiben bzw. zu lernen sei? Wie konnten wir nur je von den Lochkarten wegkommen?

Versteh mich nicht falsch. Ich mag Python zwar, sehe aber natürlich auch die Probleme. Der Sprache jedoch vorzuwerfen, dass sie einfach zu lernen, schreiben und lesen ist, ist einfach nur absurd ...

nein.
ich hab mich wohl falsch ausgedrückt dafür sorry.
ich halte python nur nicht für sonderlich komplex.
kann aber auch falsch liegen.
 

RRA^StArFiRe

Guest
perl, php und die ganzen anderen scriptsprachen sind doch total krüppelig zu warten.
habt ihr schonmal die vorzüge von jsf und dem model view controller konzept erlebt?
klar, mit php und perl kann man sich ebenfalls solche schnittstellen machen, aber das macht fast soviel arbeit, wie die ganze anwendung zu programmieren.

generell sollte man sich das aneignen, was man später auch wirklich mal machen will.
will man 3d programmierung und in die richtung spiele gehen, dann ganz viel c++.
für unternehmenssoftware dann aber eher java. in der ecke sap und andere soap-szenarien dann webservices mit java. zb. axis2
im grunde sind solche soap-anwendungen aber auch nichts anderes als xml datenschleudern.
 
Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
Also ich habe zuerst die Basistechniken der Programmierung in Pascal gelernt. Danach seit 2 Jahren Java an der Hochschule. 1,5 Jahre war ich sehr begeistert von Java, weil ich damit mehr machen konnte, als mit Pascal. Dann hab ich PHP und Python kennen gelernt und jetzt programmiere ich nur noch in Java, wenn es die Hochschule verlangt. Ich mag es einfach nicht, vorgegeben zu bekommen, was für mich guter Programmierstil ist. Z.B. sind Klassen in vielleicht 95% aller Fälle eine gute Sache, aber in den restlichen 5%, wo sie einfach nur unnötigen Overhead bedeuten, möchte ich auch drauf verzichten können.
Für Leute, die Entscheidungen anderer Leute brauchen, um ihr Leben (und ihren Code) in Ordnung zu halten, ist Java sicher eine tolle Sache. Am Anfang fand ich es ja auch ganz toll, weil es soviel Ordnung erzeugt hat, wo ich selbst noch keine Ordnung rein bringen konnte.
Das ist imo auch der Grund, warum viele große Firmen Java benutzen. Bei >100 Programmierern, die vielleicht über die ganze Welt verteilt sind, ist es unglaublich wichtig, automatische Ordnungssysteme zu integrieren. Eine Programmiersprache, die einen zu einem Stil zwingt, der in 95% der Fälle ordentlichen Code erzeugt, ist da wunderbar.


Und wo wir gerade mal wieder über die Firmen reden. k.A. wie es euch geht. Ich habe jedenfalls keine Lust für den Wohlstand irgendwelcher Schlipse zu arbeiten, die keinen Ahnung von IT haben und dementsprechend teilweise sehr komische Vorstellungen davon haben, wie ihre IT-Mitarbeiter zu arbeiten haben. Ich möchte selbst entscheiden, was die richtige Arbeit zu tun ist und ich möchte für meinen eigenen Wohlstand arbeiten. Ich bin halt gerne Herr meines Glückes, wie man so schön sagt.
Geht es anderen hier nicht so? Gibt es denn keinen Weg dahin?
 
Mitglied seit
10.08.2000
Beiträge
12.908
Reaktionen
1
Original geschrieben von Sholvar
Und wo wir gerade mal wieder über die Firmen reden. k.A. wie es euch geht. Ich habe jedenfalls keine Lust für den Wohlstand irgendwelcher Schlipse zu arbeiten, die keinen Ahnung von IT haben und dementsprechend teilweise sehr komische Vorstellungen davon haben, wie ihre IT-Mitarbeiter zu arbeiten haben. Ich möchte selbst entscheiden, was die richtige Arbeit zu tun ist und ich möchte für meinen eigenen Wohlstand arbeiten. Ich bin halt gerne Herr meines Glückes, wie man so schön sagt.
Geht es anderen hier nicht so? Gibt es denn keinen Weg dahin?

Gründe deine eigene Firma. Oder arbeite bei Google ;)
 
Mitglied seit
02.09.2002
Beiträge
3.247
Reaktionen
82
Mhh, ein weiterer Punkt der eventuell auf deine Liste könnte: Buildprozesse.
Sprich: Wie mache ich aus Programm (source) ein Programm (nutzbar).
Klingt vielleicht etwas trivial, aber an vielen Hochschulen müssen die Programme Eclipse (oder welche IDE auch immer) halt kaum verlassen und beigebracht bekommt mans auchnet unbedingt.
Insofern ist es sicher sinnvoll sich mit Buildtools (Make, Maven/Ant, ...) mal auseinandergesetzt zu haben.
 
Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
Ja stimmt, mit Interpretern und Compilern setze ich mich auch auseinander. Hatte ich ganz in der Liste vergessen. Ist es das was du meinst?


Hm. Firma gründen. Keine schlechte Idee. ;)
 

RRA^StArFiRe

Guest
ohne "vorgeschriebene programmierstile" sprich "frameworks" hast du aber ein ziemlich lange entwicklungszeit, die nur so gespickt ist von bugs.
dagegen hast du mit frameworks und verschiedensten apis eine recht kurze timetomarket und code, den du nicht selber warten musst. zudem hohe kompatibilität zu projekten, die mit demselben framework entwickelt worden sind.
dafür nimmt man halt ressourcenhunger und overhead hin.

arbeitest du in php auch ohne frameworks?
 
Mitglied seit
03.08.2002
Beiträge
3.193
Reaktionen
0
Original geschrieben von Sholvar
Also ich habe zuerst die Basistechniken der Programmierung in Pascal gelernt. Danach seit 2 Jahren Java an der Hochschule. 1,5 Jahre war ich sehr begeistert von Java, weil ich damit mehr machen konnte, als mit Pascal. Dann hab ich PHP und Python kennen gelernt und jetzt programmiere ich nur noch in Java, wenn es die Hochschule verlangt. Ich mag es einfach nicht, vorgegeben zu bekommen, was für mich guter Programmierstil ist. Z.B. sind Klassen in vielleicht 95% aller Fälle eine gute Sache, aber in den restlichen 5%, wo sie einfach nur unnötigen Overhead bedeuten, möchte ich auch drauf verzichten können.
Für Leute, die Entscheidungen anderer Leute brauchen, um ihr Leben (und ihren Code) in Ordnung zu halten, ist Java sicher eine tolle Sache. Am Anfang fand ich es ja auch ganz toll, weil es soviel Ordnung erzeugt hat, wo ich selbst noch keine Ordnung rein bringen konnte.
Das ist imo auch der Grund, warum viele große Firmen Java benutzen. Bei >100 Programmierern, die vielleicht über die ganze Welt verteilt sind, ist es unglaublich wichtig, automatische Ordnungssysteme zu integrieren. Eine Programmiersprache, die einen zu einem Stil zwingt, der in 95% der Fälle ordentlichen Code erzeugt, ist da wunderbar.



evtl. solltest du java RICHTIG lernen..
Hatte auch oft das gefühl das java ziemlich viel mist macht. aber es macht definitiv nur soviel mist wie man zulässt. und zu schreiben: klassen sind manchmal eine feine sache... naja?!
 

haviii

Guest
Da hier viele PC und Informatik Geeks versammelt sind, kann ich ja gleich mal mein Anliegen hier vortragen:

Ich hätte in nächster Zeit einen online Auftrag zu vergeben. Mein Budget dafür wären so 500€ denke ich. Ihr müsstet ne billige Website (eine website keine ganze) machen und bisschen access generierte datenblätter mit dieser seite verknüpfen.

Wer da Ahnung von hat mal bei mchavok im skype melden.
 
Mitglied seit
12.01.2004
Beiträge
8.557
Reaktionen
0
Ort
Gießem
Original geschrieben von =Starfire=

arbeitest du in php auch ohne frameworks?

ist doch eigentlich immer ne abwägungssache, oder? bei nem zeitnahen deployment könnte man auf frameworks zurückgreifen (sofern man sie schon kennt). allerdings pflege ich eher die philosophie, was man selbst schreibt >> frameworks, schon alleine weil man viel mehr lernt und sich dadurch hintergrundwissen aneignet. und man erstellt sich mit der zeit eine schöne sammlung an klassen / code snippets, die man immer und immer wieder verwenden kann
 
Mitglied seit
03.08.2002
Beiträge
3.193
Reaktionen
0
Original geschrieben von haviii
Da hier viele PC und Informatik Geeks versammelt sind, kann ich ja gleich mal mein Anliegen hier vortragen:

Ich hätte in nächster Zeit einen online Auftrag zu vergeben. Mein Budget dafür wären so 500€ denke ich. Ihr müsstet ne billige Website (eine website keine ganze) machen und bisschen access generierte datenblätter mit dieser seite verknüpfen.

Wer da Ahnung von hat mal bei mchavok im skype melden.

auf was soll denn das laufen?
 

Shihatsu

Administrator
Mitglied seit
26.09.2001
Beiträge
46.400
Reaktionen
8.851
Original geschrieben von =Starfire=

dagegen hast du mit frameworks und verschiedensten apis eine recht kurze timetomarket und code, den du nicht selber warten musst.
entwickelst du selber oder trägst du n anzug? gerade der framework- und api-overhead vergrössert atm in der industrie die tolle "timetomarket". soa und der ganze hype haben genau das gegenteil von dem gebracht was sie sollten, und da hängt der ganze framework-api-superduperbuzzword-train hinten dran :no:

die realisierungszeit kann man nur verkürzen, in dem man sich genau überlegt was man tut (analye) und das dann vernünftig umsetzt (design). und das ist nunmal völlig unabhängig von irgendwelchen tools und tricks, die otto-normal-chef aufgeschnappt hat und umbedingt umgesetzt haben will. ich will nicht behaupten, das alle frameworks unnütz sind, aber pauschal als heilsbringer bezeichnen sollten man sie auch nicht.
 

RRA^StArFiRe

Guest
Original geschrieben von Pikkart
und man erstellt sich mit der zeit eine schöne sammlung an klassen / code snippets, die man immer und immer wieder verwenden kann

das schon, man schneidet dann immer die codeteile auf das projekt zurecht.
nur bei größeren und komplexeren projekten musst du entweder ziemlich oft refactorn oder betreibst bei wartungsarbeiten "shotgun surgery".
frameworks beheben das auch nicht, senken aber die komplexität.
aber man wird sehen, was sich durchsetzt.
entweder wird in 20 jahren nur noch aus UML heraus "programmiert" bzw code generiert, oder es geht wieder aufs zeilenweise handgemacht hinaus.

schlimm sind nur die leute in der uni, die für nen minimini-projekt unmengen an frameworks aufsetzen und sowas wie bugtracking, continuous integration, dependency injection, junit bla.
obwohl das ganze in der hälfte der zeit programmiert ist, die man braucht, um das ganze zeit zu integrieren.
oder leute, die auf fertigen code, der danach eh nie wieder benutzt wird, noch unmengen refactorn und allmögliches zeug wrappen.
da kann man wirklich n hass auf sowas bekommen :D
sowas endet dann so, dass man alle kleinen programme in nur einer klasse/datei schreibt ;)
 

haviii

Guest
Original geschrieben von Eeth


auf was soll denn das laufen?

ka ich ich liefer dir 5-6 excel sheets. du baust daraus htm. geht um einen benchmark der hinten kennzinnern rauswirft. die teilnehmer sollen sich halt online einloggen und benutzername und passwort ihre rohdaten eintragen und speichern.

auf was das laufen soll KA ich bin da der totale noob. ich weiss das es mit access geht aber wenns da alternativen gibt bin ich offen. müssen jedoch alles lizenzen sein da alles offiziel ist im betrieb (nicht im bezahlen, das gibts schwarz auf die hand)! ;)

Gruß haviii
 
Mitglied seit
03.08.2002
Beiträge
3.193
Reaktionen
0
Für Login etc brauchst du aufjedenfall mal ne datenbank.
Dann benötigst du wenn ich dich richtig verstehe eine excel import funktion für die datenbank nach login, eine übersichtsseite und eine view seite.

am einfachsten und schnellsten könnte ich mir php hier vorstellen. wenn ich das mit java lösen würde wärs teurer, da mit kanonen auf spatzen geschossen wird, es sei denn ihr habt eh alles startklar.

frag am besten nen php guru :)
 
Mitglied seit
03.08.2002
Beiträge
3.193
Reaktionen
0
Original geschrieben von Shihatsu

entwickelst du selber oder trägst du n anzug? gerade der framework- und api-overhead vergrössert atm in der industrie die tolle "timetomarket". soa und der ganze hype haben genau das gegenteil von dem gebracht was sie sollten, und da hängt der ganze framework-api-superduperbuzzword-train hinten dran :no:

die realisierungszeit kann man nur verkürzen, in dem man sich genau überlegt was man tut (analye) und das dann vernünftig umsetzt (design). und das ist nunmal völlig unabhängig von irgendwelchen tools und tricks, die otto-normal-chef aufgeschnappt hat und umbedingt umgesetzt haben will. ich will nicht behaupten, das alle frameworks unnütz sind, aber pauschal als heilsbringer bezeichnen sollten man sie auch nicht.

naja die TTM oder einfach die projektdauer für das initialprojekt wird bei projekten die ich umsetze immer ein wenig höher angesetzt, da ich meist das framework das ich benutze (irgendwelche lightweight oder gui frameworks für java) noch abstrahiere und ein eigenes framework daraus bastel was angepasst ist. das dauert evtl. mal 25% länger aber du hast hinterher zeitersparnisse bei wartung und erweiterung.
 

Shihatsu

Administrator
Mitglied seit
26.09.2001
Beiträge
46.400
Reaktionen
8.851
aber genau diese zeitersparniss kannste eben nicht verlaufen in grossen butzen. WIR MÜSSEN JETZT IN DEN MARKT!!!11111elf. Mich störts ja auch, aber der Zeitdruck ist nunmal total assi.

btw, wenn excel und acess masken: asp.net > php
 
Mitglied seit
02.09.2002
Beiträge
3.247
Reaktionen
82
Original geschrieben von =Starfire=
entweder wird in 20 jahren nur noch aus UML heraus "programmiert" bzw code generiert, oder es geht wieder aufs zeilenweise handgemacht hinaus.
Das würde effektiv bedeuten, Programmiersprachen abzuschaffen (wozu UML -> Code -> Programm, wenn man UML -> Programm haben könnte?)

Das ist meiner Meinung nach aber schon in den 60ern gescheitert, als man versucht hat Programmiersprachen näher an die natürlichen Sprache heran zu rücken. Letztlich bringt das aber keine Vereinfachung.
UML 'funktioniert' auch nur, weil man damit nur die Umrisse eines Programms angibt.
Algorithmen in UML -> :dead:
 

The_Company

Guest
Original geschrieben von Shihatsu
ich will nicht behaupten, das alle frameworks unnütz sind, aber pauschal als heilsbringer bezeichnen sollten man sie auch nicht.
Jeamnd, der keine Frameworks benutzt, muss sie selber schreiben. Daraus folgt, dass die Zeit um sich in das Framework einzuarbeiten groesser ist, als die Zeit es selber zu programmieren.
Damit ist eigentlich ziemlich klar, das die Frage von Framework-Nutzung von der Groesse der Aufgabe abhaengt. Hibernate fuer ne private Homepage ist damit genau so bloed wie hand-coded HTML fuer diese Forum.
 
Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
Original geschrieben von Eeth



evtl. solltest du java RICHTIG lernen..
Hatte auch oft das gefühl das java ziemlich viel mist macht. aber es macht definitiv nur soviel mist wie man zulässt. und zu schreiben: klassen sind manchmal eine feine sache... naja?!

was mich an java stört ist nicht, dass es Mist macht. Es lässt aus meiner Sicht einfach zu wenig Mist zu. Ich will lazy evaluation, ich will freie Variablenbelegung, unverkrampfte Arrays, Listen, Dicts. Ich will Hello World in einer Zeile (bei korrekten Zeilenumbrüchen). Ich will nicht Sachen so ausdrücken: Objekt.getAnderes().getNochmal(was).getUndschon(wieder).doSomething(sensefull);
Kurzum die Sprache hat nicht genug Freiheit. Das hat auch gar nichts mit dem Java Framework zutun. Das Framework finde ich ziemlich gut. Auch andere Javaframeworks wie Spring oder das J2ME-FF sind gute Sachen.

2 Punkte möchte ich noch allgemein zu Frameworks sagen:
- es ist immer ein Kosten/Nutzen Vergleich nötig, den man dummerweise nur durch Schätzen und Experimentieren machen kann. Weder "immer" noch "nie" sind gute Umgangsformen mit Frameworks
- vielleicht geht es anderen Leuten anders, aber ich kann Frameworks nur soweit benutzen, wie ich schonmal selbst eins Programmiert habe. RoR hab ich erst kapiert, als ich mal selbst Basisklassen für DBs geschrieben, HTML-Templates mit PHP bearbeitet und dynamisch zusammen gebastelt hab und MVC wirklich umsetzen zu können (und nicht nur im Grundsatz zu verstehen) benötigte erstmal eine eigene Lösung für die Frage "Wie verbinde ich das alles jetzt und halte immernoch Ordnung?" Mir fällt es deutlich schwerer, mich in die Lösung anderer Menschen hinein zu denken, als selbst eine zu finden. Wenn ich erstmal 1 Lösung gefunden habe, kann ich diese mit anderen Vergleichen und auch die anderen Lösungen vorteilhaft einsetzen. (z.B. ist mein selbstgeschriebenes System für unsere Webapps eher mittelmäßig und gespickt mit Lücken, da ist ein etabliertes Framework wie Symfony für PHP, Rails für Ruby oder Django für Python schon deutlich besser. Aber ich habs halt vorher nicht kapiert als ich damit rumexperimentiert hatte)

Ich möchte als Diskussionsthema mal MVC in den Raum werfen. Das M steht dabei ganz vorne, was mich gewaltig stört. Gerade im Webapp-Bereich ist es sehr nötig, dass man Userorientiert programmiert. VCM wäre aus meiner Sicht eine viel bessere Reihenfolge.
Warum muss sich der Benutzer an meine Datenhaltungs-Sicht anpassen? Die Datenbanken sollen sich automatisch an den Benutzer anpassen.
Vielleicht stelle ich es mir ja zu einfach vor. Aber die Frage, welche Daten ich speichern will, können auf 2 Situationen reduziert werden:
1. Allgemeine Sachen, die sich sowieso immer ergeben. (Login, Session usw. bla)
2. Sachen die ein Nutzer eingibt und ein Nutzer später mal angezeigt haben will (oder die ich angezeigt haben will)

Der erste Punkt wird durch Frameworks schon ziemlich gut automatisiert. Und das zweite hängt sowieso von der Benutzersicht ab. Was er sieht kann er machen, was er nicht sieht, kann er nicht machen. Und wie ich darauf mein Datenbankmodell erstelle hängt auch von Faktoren ab, die ein Computer kennt: Daten, die der Nutzer eingibt, Normalisierung, Performance, Sicherheit, Wartbarkeit, Erweiterbarkeit.

Und unabhängig davon, ob es umsetzbar ist. Eine Umsetzung dafür zu finden, hätte an sich schon genug Vorteile, dass es sich lohnt, auch eine unmögliche Sache möglich zu machen (ist ja schon oft genug passiert, dass unmögliches möglich wurde. Wer hätte vor 15 Jahren gedacht, dass man mal X Milliarden Seiten in 1 Sekunde nach einen String durchsuchen kann?).
Zum Beispiel könnte der stupide Teil der Arbeit durch GUI-Click-Tools von mittel-gebildeten Leuten (= Berufsausblidung, kein Studium) und Computern gemacht werden und die kreativen Herausforderungen konzentrierter von den Leuten begangen werden, deren Aufgabe es eigentlich ist. Wenn man sich wirklich nur noch Gedanken um die Benutzersicht machen muss, kommt man vielleicht auch endlich mal zu intuitiveren GUIs. Nichts ist schlimmer, als wenn der Benutzer erst lernen muss, wie er dir sein Geld gibt. VCM wäre also >>>> MVC, wenn es endlich mal jemand machen würde.
 
Mitglied seit
02.09.2002
Beiträge
3.247
Reaktionen
82
Original geschrieben von Sholvar
was mich an java stört ist nicht, dass es Mist macht. Es lässt aus meiner Sicht einfach zu wenig Mist zu. Ich will lazy evaluation, ich will freie Variablenbelegung, unverkrampfte Arrays, Listen, Dicts. Ich will Hello World in einer Zeile (bei korrekten Zeilenumbrüchen). Ich will nicht Sachen so ausdrücken: Objekt.getAnderes().getNochmal(was).getUndschon(wieder).doSomething(sensefull);
Kurzum die Sprache hat nicht genug Freiheit.
Denkanstoß:
Wenn dein Programm so aufgebaut ist, dass du "Objekt.getAnderes().getNochmal(was).getUndschon(wieder).doSomething(sensefull);" aufrufen musst, ist das nunmal so.
Vielleicht kann Sprache x den Aufruf auf doSomething(senseful) verkürzen, aber dann behebst du die symptome, nicht das Problem.
 
Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
Ich will damit nur sagen, dass Java einen dazu motiviert so einen Murks zu schreiben. Man kann sowas aufteilen, umstruktorieren usw. Aber am Ende hat man nur gekonnt das statt 10 Ausdrücken in einer Zeile 10 Zeilen mit einem Ausdruck dastehen.
Es geht in beide Dimensionen kürzer. Andere Programmiersprachen wie Python oder PHP sind für mich der Beweis. In den Programmen reicht mir ne Zeilenlänge von 79 Zeichen völlig aus. Und ich schreibe auch nichts mit vierstelligen Zeilenzahlen, außer ich möchte unbedingt zig Klassen in einer Datei unterbringen, um das Modul portierfähiger zu machen.
 
Mitglied seit
12.01.2004
Beiträge
8.557
Reaktionen
0
Ort
Gießem
ich bin irgendwann an einem punkt angekommen, an dem ich selbst meine php applikationen so aufbaue, dass sie (fast, man muss natürlich irgendwann mal das erste objekt instantieren^^) absolut OO sind. warum? OO erleichtert die wartbarkeit _UNGEMEIN_. und gerade strikte typisierung &co sind sachen, die ich atm bei php einfach vermisse, aber soll ja afair mit der 6er kommen, wenn sie da nicht den schwanz einziehen.

und glaub mir, ich hab schon viel müll gesehen wo du einen kauderwelsch aus funktionen, html und sonstwas hast. sowas ist imho einfach nicht vertretbar, man muss sich imho auch bei php stark am riemen reissen..

und nochmal zum thema refactoring: ka, man schreibt sich einfach mal irgendwann ne template klasse. dann kommt nen dbal, ... kann man doch alles prima OHNE groß zu refactoren immer und immer wieder in verschiedenen projekten benutzen. die großen vorteile sind doch ohne groß nachzudenken, dass man

1. nicht von anderen leuten abhängig ist, was die entwicklung betrifft. außerdem ist die wahrscheinlichkeit höher (bei einem Open Source FW), dass exploits / bugs mal hart abused werden können
2. man weiss, was man hat
3. man schnell neue features einbauen kann
4. eigene klassen idr. effizienter sind
5. man immer dazu lernt ;)

aus solchen klassen werden bei mir halt immer so-mal-nebenbei-prog-wenn-nix-zu-tun-ist projekte. ka, einfach meine philosophie:
selber schreiben >>> code von anderen nutzen
 
Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
lassen wir das mit der Sprachendiskussion. Wir können ja ins LSZ gehen und darüber philosophieren ob große Busen besser sind als kleine oder andersrum ;)

Ansonsten muss d.i.y. nicht im Kontrast stehen zum DRY-Prinzip. Ich glaub Erik Raymond sagte mal, dass kein Hacker seine Genialität verschwenden sollte, ein Problem ein zweites Mal anzugehen. Wenn es schon eine Lösung gibt, sollte man sich einem der anderen unendlich Problemen zuwenden, die noch niemand gelöst hat.

Wenn du was selbst machen willst, bau doch mal ein ordentliches VMC Framework! ;)
 
Oben