Sind viele Leute sprachlich unbegabt , dass sie die neuen Sprachen nicht beherrschen koennen?

4 Antworten

Programmierung und recht wenig mit Sprachen an sich zu tun, sondern mehr mit der Logik. Wenn du eine Sprache beherrscht, lernst du auch schnell andere, da das Konzept das gleiche bleibt.

(Für die, die es nicht verstehen; siehe Tags der Frage)

Woher ich das weiß:Berufserfahrung – 💻 Zertifizierter Sr. Cloud Engineer

Isendrak  08.10.2019, 10:34
Für die, die es nicht verstehen; siehe Tags der Frage

Mag sein, dass das in diesem Fall evtl. funktioniert, aber es gibt hier oft genug Fragen, bei denen die Tags mehr Fragen aufwerfen als beantworten. Ob das hier auch der Fall ist kann wohl nur der FS beantworten.

0
Dultus, UserMod Light   08.10.2019, 10:36
@Isendrak

Das ist durchaus richtig. Die Frage ist unabhängig davon recht unfreundlich, wenn man den Tag "Intelligenz" anhängen muss...

1

Es wird auf Schule und auch auf Arbeit meistens nicht die neueste Sprachversion benutzt. Sie ist noch nicht stabil, nicht implementiert (neueste C++ Version) oder die Sprachpolitik wird ungünstig verändert (siehe Java). Übung macht den Meister.

Begabung hat damit rein gar nichts zu tun, sondern nur reine Fleißarbeit, bzw. viel investierte Zeit ins Lernen.

Und auch "beherrschen" ist so ein komischer Begriff. Die meisten Entwickler dürften ihre Programmiersprache(n) nicht wirklich beherrschen, sondern eher auf einem recht oberflächlichen Niveau herum dümpeln.

Meiner Erfahrung nach gibt es nur wenige, die die Sprachspezifikation gelesen, verstanden und in großen Teilen auswendig gelernt haben. Solche Leute können dann natürlich besseren / eleganteren / effizienteren Code schreiben, als jemand, der mal gerade aus einem 300 Seiten Büchlein gelernt hat.

Aber mit "Begabung" hat das Ganze nix zu tun. :)

Woher ich das weiß:eigene Erfahrung

Was heißt beherrschen? Die wenigsten beherrschen C++17 oder gar C++20, wenige beherrschen Java, wenige C#, kaum jemand beherrscht protected-mode Assembler.

Wenn man am Anfang ist, hat man eben Anfängerfragen, wenn man Fortgeschritten ist, Fortgeschrittene-Fragen, wenn man Nerd ist, Nerd-Fragen. Mit sprachlicher Begabung hat das wenig zu tun. Teilweise sind die Konzept befremdlich, z.B. dass jeder String ein Objekt und damit eine Referenzadresse für Methoden und Attribute ist, z.B. Konzepte mit verschachtelten Objekten wie

"Hallo Welt".druck_mich_auf(new(console.output_stream()).get()); 
Frage.stell_mich().gib_mir_alle_Zeichen_aus_Str_als_Summe().Plus_5().Wandle_um_in_String().druck_mich(new(Printer.output_stream()).get());
new(Schwachsinn(new(Inhalt).random)).output(nil).get_error_code(new err_instance(super));

(das aber nur als Beispielcode einer fiktiven Sprache)

ist für einen imperativ-Progger das Letzte genauso wie Lamda-Ausdrücke in Java (oder gar C++ wenn Lambda mit OPP abgebildet wird, das ist für z.B. Cobol-Progger neu).

Dann sind manche Konzepte nicht klar ausreichend beschrieben, z.B.

int x=0;
++x = x++ + ++x + x++ + ++x;

Was gibt x?

Dann Versehensfehler wie z.B.:

for(int i;i<10;++i)

etc. hat nichts mit Unbegabt zu tun, es ist schlicht eine Progression, die Strukturen einer Programmiersprache sowie die Logik des Programmierens und ihrer Konzepte in die Birne zu bekommen.

Woher ich das weiß:eigene Erfahrung – Hobby und teilweise beruflich

NADHplus  09.10.2019, 15:26
Was gibt x?

Undefiniert, bzw. lässt sich zumindest in C++ unmöglich sagen, da mehrere verändernde Operatoren innerhalb eines Ausdrucks sowieso verboten sind. :)

Wenn das in anderen Sprachen natürlich strikt geregelt ist, sieht die Sache schon anders aus, aber bei C und C++ muss man ganz klar sagen: Es gibt keine Antwort auf deine Frage. :)

1