Wieviel kann ich schon in c#?

...komplette Frage anzeigen

4 Antworten

Ich würde dich als Anfänger bezeichnen. Zum einen kenn ich deine bisherigen Fragen und weiß ungefähr, wie lange du schon programmierst - da fehlt es dir einfach an Erfahrung. Und zum anderen: Programmieren selbst ist eigentlich nur Handwerk, dazu könnte man auch einen Affen dressieren. Der anspruchsvolle Part ist mMn. eher die Softwarearchitektur, also zu wissen, wie man auch größere Anwendungen vernünftig aufbaut und strukturiert.

Entwurfs- und Architekturmuster, Automatisierte Tests und Dokumentationen, LINQ, Lambda-Expressions, Datenbanken, Dependency Injection... das wären so ein paar Sachen, die mir spontan einfallen und die noch in deiner Auflistung fehlen.

Antwort bewerten Vielen Dank für Deine Bewertung
mrhashpipeotto 09.03.2016, 16:40

Das ist für dich - >bereits<- anspruchsvoll? Was ist dann ein vollautomatisierter integrations und delivery workflow im sekundentakt mit allem was dazugehört? 

;) 

0
ceevee 09.03.2016, 16:52
@mrhashpipeotto

Das ist was für die Profis. Hier war nach Fortgeschrittenen gefragt. :)

0
mrhashpipeotto 09.03.2016, 16:59
@ceevee

ja ist es doch? profis würden hier noch ein draufsetzen mit asynchroner verteilung auf cluster, message pipeline usw,... tutsplus sagen hier sogar das es was für "beginner" ist (s. rechts difiiculty beginner) :D


code.tutsplus.com/tutorials/setting-up-continuous-integration-continuous-deployment-with-jenkins--cms-21511

0
CrystalixXx 09.03.2016, 19:01
@mrhashpipeotto

Hier geht es schon sehr weit in eine konkrete Richtung der Softwareentwicklung.

Pauschal lässt sich die Frage nicht beantworten, wenn man keinen Maßstab angibt. Würde es nur um den Bereich lokal begrenzter Desktop-Software gehen, würden die von dir genannten Techniken außen vor sein. Dennoch könnte man in diesem Bereich ein Profi sein.

Ich persönlich sehe Multithreading und asynchrone Verarbeitung als die höhere Wissenschaft der Programmierung an, weil das ein hohes Maß an (Denk-)Struktur erfordert.

2
mrhashpipeotto 09.03.2016, 19:46
@CrystalixXx

Pauschal lässt sich die Frage nicht beantworten, wenn man keinen Maßstab angibt.


ganz genau, denn ab wann kann man sich profi nennen (wenn man schon mal ein buch über OOP gelesen hat?) oder wann hört das amateurniveau auf (wenn man eine schleife korrekt programmieren kann?), dass ist ist alles sehr relativ und jeder programmierer definiert die abstufungen anders. deswegen haben ich auch das o.g. extreme beispiel in den raum geworfen.

1
ceevee 09.03.2016, 21:10
@mrhashpipeotto

Wenn man nicht mehr andere Leute fragen muss, ob man fortgeschritten ist, dann ist man fortgeschritten. Oder man ist dann nicht fortgeschritten und der Dunning-Kruger-Effekt hat zugeschlagen, das kann auch passieren. ;)

https://de.wikipedia.org/wiki/Dunning-Kruger-Effekt

Ganz allgemein würde ich sagen, dass man ein Anfänger ist, wenn man überhaupt irgendwas lauffähiges zusammenbasteln kann (also die Dinge, die der Fragesteller aufzählt) und immer mehr zum Profi wird, je mehr man sich praktisch überlegt, wie man Dinge besser machen kann.

1
mrhashpipeotto 09.03.2016, 22:38
@ceevee

Ja, Dinge und Prozesse optimieren kann man immer, aber mE sollte man mit dem Fragesteller nicht allzu streng sein und sich einfach mal in ihm hineinversetzen (meine andere Antwort mit rockstar pogrammierer war auch eher symbolisch gemeint um nicht direkt mit dem realitäts Hammer hier draufzuhauen).

Klar, für uns ist das was er macht absolutes noob niveau und Kindergarten, die 700 codezeilen die er schon mal in einem programm programmiert hat tippen wir so runter ohne gross nachzudenken, aber für ein 13 jährigen, der erste gehversuche macht, ist es das grösste wenn er seine schleife, if/else statements, etc programmiert bekommt und ein OK Button auf dem display anzeigen kann welcher auf ein Event reagiert (die Frage ob er daher schon Fortgeschritten ist stellt er nicht einfach so). Damit ist er allerdings auch schon wesentlich weiter als die meisten anderen Fragesteller hier die noch nie etwas programmiert haben, und es auch nie werden, aber direkt google, facebook und co nachbauen wollen. Den Träumern kann man in der Tat zeigen wie die Programmierrealität aussieht und das dafür nicht nur technische Profiskills benötigt werden.

0
BENNIBOZz3352 10.03.2016, 07:33

das programm,dass ich geschrieben hatte,hatte knapp 20 Buttons:)aber guter kommentar:))

0
ceevee 10.03.2016, 09:52
@BENNIBOZz3352

Was ich dir empfehlen kann, wenn du dein C#-Buch/Tutorial bis zum Ende (!) durchgearbeitet hast, ist dieses Buch

http://www.oreilly.de/catalog/hfdesignpat2ger/

Das ist zwar ein Java-Buch, aber den größten Teil davon kannst du auf jede objektorientierte Programmiersprache übertragen.

(oder auch das Standardwerk zu Entwurfsmustern, http://www.amazon.de/Entwurfsmuster-Elemente-wiederverwendbarer-objektorientierter-Programmers/dp/3827318629 , das find ich persönlich aber nicht so toll).

Entwurfsmuster sind mMn. ein logischer nächster Schritt, wenn die Grundlagen sitzen. Denn viele Anfänger wissen nicht, wie man Objektorientierung wirklich sinnvoll einsetzt. 

0

Lern OOP. Also Patterns, Anti-Patterns. Wie man testbaren Code schreibt. Wie und was man sinnvoll refaktorieren sollte usw.

Das was du aufzählst ist Anfängerzeugs das man in Nullkommanix aus einem Einsteigerbuch lernt.

Antwort bewerten Vielen Dank für Deine Bewertung

Hey ho,

für mich ist das noch Anfänger. Dinge wie Switches oder Schleifen sind ja bekanntlich nach einem relativ festen Muster verbaut. Es kommt darauf an, wie gut du verschachteln kannst. Du müsstest einzelne Methoden kennen, um fortgeschritten zu sein. Das ist noch ziemlich Basiswissen^^.

MfG

Antwort bewerten Vielen Dank für Deine Bewertung
BENNIBOZz3352 09.03.2016, 14:44

was meinst du z.b. mit einzelnen methoden?:) verschachteln kann ich :)

0
Dultus 09.03.2016, 14:49
@BENNIBOZz3352

Sry xD. Meine Attribute^^ ( https://msdn.microsoft.com/de-de/library/z0w1kczw.aspx ). Dass du deine einzelnen Eintragungen ausweiten kannst. Fortgeschritten ist ebenfalls eher relativ. Wann du Fortgeschritten bist, entscheidet sich auch, wenn du tatsächlich aus dem Kopf z.B. ... Einen wissenschaftlichen Taschenrechner programmieren musst und du deine Button auch positionieren kannst.

0
procoder42 09.03.2016, 15:22
@Dultus

Einen wissenschaftlichen Taschenrechner programmieren musst und du deine Button auch positionieren kannst.

Meiner Meinung nach ist auch das noch nicht fortgeschritten.

Fortgeschritten ist, wenn man externe Bibliotheken sinnvoll eingliedern kann und man clean Code schreibt und nicht irgend nen Dreck zusammenschustert.

1
Dultus 09.03.2016, 15:31
@procoder42

Fortgeschritten ist ebenfalls eher relativ.

wer entscheidet, wann etwas fortgeschritten ist? Ich kann Bibliotheken sinnvoll eingliedern, kann aber keine Button erzeugen, bin ich trotzdem fortgeschritten?

und man clean Code schreibt und nicht irgend nen Dreck zusammenschustert.

Das ist auch eher relativ. Im Endeffeckt kann der Code egal sein, solange er stabil funktioniert, keine Syntax-Error vorhanden sind und dieser in keinster Weise Probleme aufweist.

Das, was ich beschrieben habe, entsprach meiner Meinung.

0
ceevee 09.03.2016, 15:43
@Dultus

Die Buttons sind auch Teil eines "Bibliothek sinnvoll nutzen". Die Bibliothek ist in diesem Falle z.B. Windows Forms.

Im Endeffeckt kann der Code egal sein, solange er stabil funktioniert, keine Syntax-Error vorhanden sind und dieser in keinster Weise Probleme aufweist.

Sei mir nicht böse, aber das ist eine Anfängermeinung. Man kann sich mit eigenen schlecht geschriebenen Code auch viele Probleme machen, wenn es mal darum geht, das Programm zu verändern oder zu erweitern. Ein fortgeschrittener Programmierer programmiert von Anfang an so, dass er sein Programm auch später modifizieren kann. Ein Anfänger passt nur auf, dass keine Syntax-Fehler drin sind. ;)

3
Dultus 09.03.2016, 15:46
@ceevee

Ich spreche ja auch von einem beendeten Programm ;). Ich habe schon lang genug Erfahrung dazu gesammelt, um das behaupten zu können. Ich spreche wirklich von einem Einwandfreien Code. Taschenrechner benötigen keine Updates oder müssen nicht (wenn alle Funktionen vorhanden sind^^) erweitert werden.

MfG

0
procoder42 09.03.2016, 15:49
@ceevee

Man kann sich mit eigenen schlecht geschriebenen Code auch viele Probleme machen

Es gibt 2 Arten von Menschen die schlechten Code schreiben : Schlechte Programmierer und Programmierer, die nicht kündigbar sein wollen ;).

Ein Anfänger passt nur auf, dass keine Syntax-Fehler drin sind. ;)

Ja, zumal "eigene Klassen schreiben" ziemlich unaussagekräftig ist. Damit kann auch eine Klasse "Auto" mit ein paar Attributen sein.

0
EightSix 09.03.2016, 15:53
@Dultus

Also der Windows Taschenrechner hat sich von Windows XP (wegen .Net) bis Windows 10 nicht verändert?

0
procoder42 09.03.2016, 15:54
@Dultus

Aber guten Stil sollte man sich einfach aus Prinzip angewöhnen.

Für jedes Mini Programm die verwendeten Bibliotheken auflisten, usw. ist nicht nötig, aber Software von Anfang an gut durchplanen und entsprechend umsetzten ist einfach wichtig.

1
Dultus 09.03.2016, 15:56
@procoder42

Klar sollte man den Code wunderbar flüssig schreiben. Da sind wir uns doch alle einig oder nicht? Nur aus der Theorie wäre es nicht erforderlich. Es wäre nur wesentlich aufwendiger^^. Wir alle teilen hier doch die eine Leidenschaft: Programmieren. Solange dem so ist, haben wir alle hier recht gehabt. Zumindest meint es jeder richtig. ;)

1

Fortgeschrittener Programmierer ist man, wenn man wirklich sicher gängige Programme umsetzen kann, ohne andauernd das Internet um Rat fragen zu müssen.

Das ist bei dir leider noch nicht gegeben, wenn man deine ganzen Fragen in letzter Zeit betrachtet.

Das soll jetzt echt nichts gegen dich sein, aber das was du auflistet sind echt nur die Basics und sich mit dem Wissen als "fortgeschritten" zu betiteln wird das bei erfahrenen Programmierern eher zu belustigung führen.

Antwort bewerten Vielen Dank für Deine Bewertung
BENNIBOZz3352 09.03.2016, 15:59

ich lerne programmieren nur nebenbei zur schule^^ ich bin erst 13...

0
procoder42 09.03.2016, 16:05
@BENNIBOZz3352

Die meisten fangen in dem Alter mit dem Programmieren an ... Neben der Schule.

Ich hab hier auf GF.net schon andere in dem Alter gesehen, die mit C# angefangen haben und wirklich beachtlich schnell gescheite Programme entwickeln konnten.

Du solltest deine Zeit wirklich lieber auf das Lernen der Sprache verwenden, anstatt dir andauernd Gedanken über für den Anfang irrelevante Fragen zu verwenden. Ob du jetzt Anfänger oder Fortgeschrittener bist, ist doch total egal ..

0
BENNIBOZz3352 09.03.2016, 16:21

hast du wohl recht:P

0
BENNIBOZz3352 09.03.2016, 16:29

aber ich habe auch schon programme geschrieben ,die über 700 zeilen haben(ohne anleitung o.ä. )aber meine fragen waren wie du bereits gesagt hast größenteils unnötig:)

0
CrystalixXx 09.03.2016, 18:56
@BENNIBOZz3352

Für Anfänger mögen Zahlen (vorallem große) toll sein, sind aber im Endeffekt nichts wert. Vorallem wenn ich bedenke wie viele Leerzeilen bei einem Anfänger im Programmcode stehen. Da kann man 20 Zeilen Code locker auf die Hälfte oder gar ein Drittel einkürzen.

Von mir geschrieben Steuerelemente haben für gewöhnlich auch mehr als 700 Codezeilen. Dazu kommen noch die XML-Dokumentation durch Visual Studio und Kommentarzeilen.

Lass dich von vermeintlich großer Anzahl Codezeilen nicht ablenken, sie sind kein Maß für die Sauberkeit und Effizienz der Anwendung.

1
procoder42 10.03.2016, 14:54
@BENNIBOZz3352

[...] die über 700 zeilen haben

700 klingt nach viel, ist es aber nicht.

Gehen wir mal von 20 Buttons aus, die alle diese Standard OnClick Funktion haben :

- 6 Codezeilen für die Main Klasse mit main Methode (Ink. {})

- 20 mal je 4 Zeilen für jede Button Methode (Ink. Leerzeile nach der Methode)

=> Ca. 30 tatsächliche Code Zeilen pro Button. Also gar nicht mal so viel Logik dahinter wie man eigentlich meint

Von sowas sollte man sich echt nicht verleiten lassen; die Engine von Doom 3 hat etwa 600.000 Zeilen Code.

0

Was möchtest Du wissen?