Fanatics
Anmeldungsdatum: 25. August 2010
Beiträge: 1032
|
Ich schließe mich da glasenisback an! Ich kenne C, C++, C#, Visual Basic, Java, Python und Delphi/TurboPascal. Lass die Finger von C/C++, wenn man das wirklich braucht/machen will, dann kann man das auch später dazu lernen. Als Anfänger ist das heutzutage eher ungeeignet. [Edit]
Um überhaupt mit den Konstrukten (Variable, Schleife, Abfrage,etc..) einer Programmiersprache etwas anfangen zu können, kann man auch mit Scratch ganz tolle Sachen machen. Das ist nicht nur für Kinder gedacht! Das macht richtig Spaß! https://scratch.mit.edu/
|
Benno-007
Anmeldungsdatum: 28. August 2007
Beiträge: 29240
Wohnort: Germany
|
Stimmt, hatte sogar mal den Artikel Scratch dazu geschrieben.
|
glasenisback
Anmeldungsdatum: 20. November 2011
Beiträge: 1603
Wohnort: Fernwald (Gießen)
|
Scratch benötigt halt leider Adobe Flash.
|
apt-ghetto
Anmeldungsdatum: 3. Juni 2014
Beiträge: 2943
|
glasenisback schrieb: ChickenLipsRfun2eat schrieb: Ich würde mit etwas striktem anfangen, wie C, C++ oder Python, die einen zwingen sauber zu Programmieren.
C und C++ sauber??? Es gibt so viele Programmiersprachen, die einen Anfänger beim Lernen unterstützen und bestimmte Fehler erst gar nicht zulassen. Versuche mal einem Einsteiger Pointer und Pointerarithmetik zu erklären. Und ohne diese kommt du in C und C++ keinen Meter weit.
Aber wenn du das begriffen hast, dann kommst du sehr weit. Und ausserdem hat C einen kleinen Sprachumfang. Um in Java eine Map nach ihren Key (Eine Art Wörterbuch) zu sortieren, benötigt man dutzende Zeilen von Code. In Python lässt sich das mit einer einzigen Zeile erledigen. Mit C will ich erst gar nicht anfangen.
Entweder möchtest du etwas, was es so nicht in Java gibt, oder du verwendest das falsche. Auf den ersten Blick empfiehlt sich SortedMap dafür. Da du aber lieber in Python programmierst, spricht auch überhaupt nichts dagegen, es direkt mit Python umzusetzen. Ansonsten würde ich dir C#, Java, Swift oder jede andere moderne objektorientierte, (C++ gehört eindeutig nicht dazu) kompilierte Programmiersprache empfehlen. Bei all diesen hast du moderne Konzepte ohne den Ballast ohne dich veralteteten Konzepten herumärgern zu müssen.
Wenn man Objektorientierung nicht verstanden hat, kommt man auch nicht viel weiter als mit C ohne Pointer. Und die meisten Anfängerbücher legen den Fokus nicht auf die Objektorientierung. C# würde ich eher auf einem Windowsrechner ausprobieren. C# scheint auf den ersten Blick jedenfalls auch leicht erlernbar zu sein. Wichtiger ist es schnell zu erfolgen zu kommen und durch Erfolge zu lernen, als durch altertümliche Konzepte an den Erfolgen gehindert zu werden.
Erfolge sind wichtig für die Motivation. Aber ob du, ohne "altertümliche Konzepte" zu verstehen, erfolgreicher sein wirst, bezweifle ich.
|
lama4linux
Anmeldungsdatum: 17. November 2016
Beiträge: 129
|
Ich habe im letzten Jahr ein wenig mit Programmierenlernen angefangen. Das habe ich mit Python gemacht. Inzwischen habe ich ein paar Grundkonzepte drauf und könnte ganz einfache Skripte schreiben. Falls du Python nutzen möchtest und da Englisch für dich ein Problem ist, würde ich dir vorschlagen, dir mal den Kurs "Spielend Programmieren lernen 2015!" vom Hasso-Plattner-Institut anzuschauen. https://open.hpi.de/courses/pythonjunior2015 Außerdem könntest du dir Codecombat anschauen, obwohl dort vor etwa 6 Monaten die Übersetzungen ins Deutsche teilweise noch lückenhaft waren. https://codecombat.com/about Beides geht die Sache spielerisch an. Und um mal reinzuschnuppern finde ich das schon ganz nett.
Ich persönlich habe mit dem Pythonkurs bei Codecademy angefangen. Der ist aber in englischer Sprache.
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17548
Wohnort: Berlin
|
glasenisback schrieb: ChickenLipsRfun2eat schrieb: Ich würde mit etwas striktem anfangen, wie C, C++ oder Python, die einen zwingen sauber zu Programmieren.
C und C++ sauber??? Es gibt so viele Programmiersprachen, die einen Anfänger beim Lernen unterstützen und bestimmte Fehler erst gar nicht zulassen. Versuche mal einem Einsteiger Pointer und Pointerarithmetik zu erklären. Und ohne diese kommt du in C und C++ keinen Meter weit.
Das bestreite ich. Ich habe mal C und C++ gelernt, und kam sehr weit ohne Pointerarithmetik. Wenn man in Projekten arbeitet, in denen andere ausgiebig Gebrauch davon machen, sicher nicht, aber Pointerarithmetik wird in den meisten Anwendungsfällen gar nicht benötigt. Eher relevant sähe ich hier manuelle Speicherallokation, die man aber auch mit Disziplin weitgehend vermeiden kann.
Um in Java eine Map nach ihren Key (Eine Art Wörterbuch) zu sortieren, benötigt man dutzende Zeilen von Code. In Python lässt sich das mit einer einzigen Zeile erledigen. Mit C will ich erst gar nicht anfangen.
apt-ghetto wies schon auf die Möglichkeit hin, gleich eine SortedMap zu verwenden, aber vielleicht bekommt man ja die Map aus einer Bibliothek oder von einer Methode. Dennoch ist es eine Zeile Code: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 | import java.util.*;
public class MapSample
{
public MapSample ()
{
Map <String, Integer> map = new HashMap <> ();
map.put ("vier", 4);
map.put ("eins", 1);
map.put ("neun", 9);
map.put ("drei", 3);
zeige (map);
System.out.println ("==============");
zeigeSortiert (map);
}
public static void zeige (Map <String, Integer> map)
{
for (Map.Entry <String, Integer> e : map.entrySet ())
System.out.println (e.getKey ());
}
public static void zeigeSortiert (Map <String, Integer> imap)
{
Map <String, Integer> map = new TreeMap <> (imap);
for (Map.Entry <String, Integer> e : map.entrySet ())
System.out.println (e.getKey ());
}
public static void main (String args[])
{
new MapSample ();
}
}
|
Ich weiß nicht wie alt die Javakenntnisse sind, womöglich 18 Jahre alt, oder ob sie nie nie so weit gingen. Ausgabe (alphabetisch sortiert): | neun
eins
vier
drei
==============
drei
eins
neun
vier
|
|
glasenisback
Anmeldungsdatum: 20. November 2011
Beiträge: 1603
Wohnort: Fernwald (Gießen)
|
user_unknown schrieb: glasenisback schrieb:
Das bestreite ich. Ich habe mal C und C++ gelernt, und kam sehr weit ohne Pointerarithmetik. Wenn man in Projekten arbeitet, in denen andere ausgiebig Gebrauch davon machen, sicher nicht, aber Pointerarithmetik wird in den meisten Anwendungsfällen gar nicht benötigt.
Wie meinen? Man kann in C so gut wie nichts ohne Pointer und Pointerarithmetik erledigen. Ein ganz einfaches Beispiel ist eine swap-Funktion die zwei Variablen In-Place vertauscht.
Eher relevant sähe ich hier manuelle Speicherallokation, die man aber auch mit Disziplin weitgehend vermeiden kann.
Es geht weniger um Speicherallokation, sondern um die Arbeit mit structs, arrays und anderen Dingen. Pointer sind essentiell für C. apt-ghetto wies schon auf die Möglichkeit hin, gleich eine SortedMap zu verwenden, aber vielleicht bekommt man ja die Map aus einer Bibliothek oder von einer Methode. Dennoch ist es eine Zeile Code:
Wo ist das eine Zeile Code? Hier mal das exakt gleiche Beispiel in Python: #code python
def zeige(map):
for key,value in map.items():
print(key,value)
def zeigeSortiert(map):
for key,value in sorted(map.items()):
print(key,value)
map = {"vier":4,"eins":1,"neun":9,"drei":3}
zeige(map)
print("---------------")
zeigeSortiert(map) Das Beispiel ist noch sehr einfach. Kompliziert wird es z.B., wenn man eine (Array)Liste mit Map/Dict hat und man diese Liste nach dem Wert (Value) der Dicts sortieren will. In Python ist das auch nur ein Einzeiler. Ich habe z.B. mehrere Listen mit Daten, die ich zuerst nach dem Mittelwert sortieren und am Ende nach dem "X" und "Y"-Wert zurücksortieren muss. #code python
sortierte_liste_dicts = sorted(liste_mit_dicts, key=itemgetter('MEAN'))
... Irgendwelche Aufgaben
unsortierte_liste_dicts = sorted(sortierte_liste_mit_dicts, key=itemgetter('X','Y')) Python ist nicht für alle gut (Vor allem weil es sehr verschwenderisch mit dem Speicher umgeht), aber man kommt so viel schneller zu verwertbaren Ergebnissen.
Ich weiß nicht wie alt die Javakenntnisse sind, womöglich 18 Jahre alt, oder ob sie nie nie so weit gingen. Ausgabe (alphabetisch sortiert):
Meine Java-Kenntnisse sind recht aktuell, da ich im Moment Bioinformatik studiere und ich mich mit solchen Sachen in Java rumärgern muss. Erst heute musste ich eine Hausübung zum Thema "Visitor Pattern" abgeben und habe mich tierisch darüber aufgeregt, dass ich für einfache Aufgaben sehr viel Code schreiben muss.
|
apt-ghetto
Anmeldungsdatum: 3. Juni 2014
Beiträge: 2943
|
glasenisback schrieb: user_unknown schrieb: glasenisback schrieb:
Das bestreite ich. Ich habe mal C und C++ gelernt, und kam sehr weit ohne Pointerarithmetik. Wenn man in Projekten arbeitet, in denen andere ausgiebig Gebrauch davon machen, sicher nicht, aber Pointerarithmetik wird in den meisten Anwendungsfällen gar nicht benötigt.
Wie meinen? Man kann in C so gut wie nichts ohne Pointer und Pointerarithmetik erledigen. Ein ganz einfaches Beispiel ist eine swap-Funktion die zwei Variablen In-Place vertauscht.
Oder so. Man kann also sehr wohl ohne Pointer arbeiten. Da stellt sich eher die Frage nach der Lesbarkeit und Eleganz. Eher relevant sähe ich hier manuelle Speicherallokation, die man aber auch mit Disziplin weitgehend vermeiden kann.
Es geht weniger um Speicherallokation, sondern um die Arbeit mit structs, arrays und anderen Dingen. Pointer sind essentiell für C.
Wenn du Arrays in C bedienen kannst, klappt es höchstwahrscheinlich auch in anderen Programmiersprachen. Pointer sehe ich als grosse Plus an. Allerdings gebe ich dir recht, dass sie nicht idiotensicher in der Bedienung sind. Ich bin sicher, auch in objektorientierten Sprachen findest du Dinge, die mühsam erscheinen. apt-ghetto wies schon auf die Möglichkeit hin, gleich eine SortedMap zu verwenden, aber vielleicht bekommt man ja die Map aus einer Bibliothek oder von einer Methode. Dennoch ist es eine Zeile Code:
Wo ist das eine Zeile Code?
Andersherum zum ersten Beispiel gefragt: Wo sind die dutzenden Zeilen weniger? Meine Java-Kenntnisse sind recht aktuell, da ich im Moment Bioinformatik studiere und ich mich mit solchen Sachen in Java rumärgern muss.
Ich schliesse daraus, dass du nie als Java-Programmierer gearbeitet hast. Das meiste zu Java (ich bin erst am Anfang meiner Java-Programmiererkarriere, die momentan sowieso durch C# überschattet wird) habe ich dank Codereviews gelernt. Ich nehme weiterhin an, dass du eher selten Unittests schreibst. Übrigens: 5 + 4 = 9, aber auch 3 + 6 = 9 oder 1 + 8 = 9, nicht zu vergessen 32 = 9 Erst heute musste ich eine Hausübung zum Thema "Visitor Pattern" abgeben und habe mich tierisch darüber aufgeregt, dass ich für einfache Aufgaben sehr viel Code schreiben muss.
Falls du den effizientesten und kürzestmöglichen Javacode schreibst, darfst du dich gerne tierisch darüber aufregen, bringt aber nichts. Allerdings wird Code normalerweise weniger oft geschrieben als gelesen, weswegen ich die Anzahl Zeilen nicht als Argument für oder gegen eine Programmiersprache verwenden würde.
|
Benno-007
Anmeldungsdatum: 28. August 2007
Beiträge: 29240
Wohnort: Germany
|
glasenisback schrieb: Scratch benötigt halt leider Adobe Flash.
Nein, nicht die installierbare Variante aus dem Artikel. Grad auch nochmal auf Ubuntu Phone im Terminal überprüft.
|
glasenisback
Anmeldungsdatum: 20. November 2011
Beiträge: 1603
Wohnort: Fernwald (Gießen)
|
Okay, danke für den Hinweis.
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17548
Wohnort: Berlin
|
glasenisback schrieb: user_unknown schrieb: glasenisback schrieb:
Das bestreite ich. Ich habe mal C und C++ gelernt, und kam sehr weit ohne Pointerarithmetik. Wenn man in Projekten arbeitet, in denen andere ausgiebig Gebrauch davon machen, sicher nicht, aber Pointerarithmetik wird in den meisten Anwendungsfällen gar nicht benötigt.
Wie meinen?
Ohne Pointerarithmetik.
Man kann in C so gut wie nichts ohne Pointer und Pointerarithmetik erledigen. Ein ganz einfaches Beispiel ist eine swap-Funktion die zwei Variablen In-Place vertauscht.
Siehe apt-ghetto. Pointer selbst sind nun nichts, was schwierig zu erklären wäre.
Eher relevant sähe ich hier manuelle Speicherallokation, die man aber auch mit Disziplin weitgehend vermeiden kann.
Es geht weniger um Speicherallokation, sondern um die Arbeit mit structs, arrays und anderen Dingen. Pointer sind essentiell für C.
Wie gesagt. Für kleine Projekte kommt man auch ohne aus.
apt-ghetto wies schon auf die Möglichkeit hin, gleich eine SortedMap zu verwenden, aber vielleicht bekommt man ja die Map aus einer Bibliothek oder von einer Methode. Dennoch ist es eine Zeile Code:
Wo ist das eine Zeile Code?
Der Unterschied zwischen den Methoden zeigeSortiert und zeige ist eine Zeile Code, die man einfügt:
| Map <String, Integer> map = new TreeMap <> (imap);
|
Du hattest behauptet:
Um in Java eine Map nach ihren Key (Eine Art Wörterbuch) zu sortieren, benötigt man dutzende Zeilen von Code.
Dutzende heißt ja mindestestens 24 Zeilen. Tatsächlich genügt eine Zeile.
Hier mal das exakt gleiche Beispiel in Python:
Was an der Sache, dass man für's Sortieren in Java eine Zeile benötigt, nichts ändert.
#code python
def zeige(map):
for key,value in map.items():
print(key,value)
def zeigeSortiert(map):
for key,value in sorted(map.items()):
print(key,value)
map = {"vier":4,"eins":1,"neun":9,"drei":3}
zeige(map)
print("---------------")
zeigeSortiert(map)
Ist übrigens nicht exact gleich.
Das Beispiel ist noch sehr einfach. Kompliziert wird es z.B., wenn man eine (Array)Liste mit Map/Dict hat und man diese Liste nach dem Wert (Value) der Dicts sortieren will. In Python ist das auch nur ein Einzeiler. Ich habe z.B. mehrere Listen mit Daten, die ich zuerst nach dem Mittelwert sortieren und am Ende nach dem "X" und "Y"-Wert zurücksortieren muss. #code python
sortierte_liste_dicts = sorted(liste_mit_dicts, key=itemgetter('MEAN'))
... Irgendwelche Aufgaben
unsortierte_liste_dicts = sorted(sortierte_liste_mit_dicts, key=itemgetter('X','Y'))
Das ist in der Tat sehr praktisch und erfordert mit Java einige Gymnastik. Wie man es in Java machen würde könnte ich zeigen, wenn ich ein paar Beispieldaten hätte. Der Mittelwert wovon? Nach X und Y heißt erst nach X und bei gleichem X nach Y?
Ich weiß nicht wie alt die Javakenntnisse sind, womöglich 18 Jahre alt, oder ob sie nie nie so weit gingen. Ausgabe (alphabetisch sortiert):
Meine Java-Kenntnisse sind recht aktuell, da ich im Moment Bioinformatik studiere und ich mich mit solchen Sachen in Java rumärgern muss. Erst heute musste ich eine Hausübung zum Thema "Visitor Pattern" abgeben und habe mich tierisch darüber aufgeregt, dass ich für einfache Aufgaben sehr viel Code schreiben muss.
Wenn Du für das Sortieren einer Map dutzende Zeilen brauchst, obwohl eine genügt, machst Du etwas fundamental falsch oder doch sehr, sehr ineffizient. Die gezeigte Zeile ist ja nun nicht irgendwie kryptisch oder dass mit faulen Tricks viele Kommandos in eine Zeile gezwungen wurden.
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17548
Wohnort: Berlin
|
Zur Liste von Maps von irgendwas mit X, Y. Da das kein lauffähiger Code ist und ich kein Python kann muss ich ein wenig raten, was Du da tust.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 | import java.util.*;
class Item { final int x, y;
public Item (int xx, int yy) {x=xx; y=yy;}
}
public class SampleMap
{
// sortierte_liste_dicts = sorted(liste_mit_dicts, key=itemgetter('MEAN'))
//... Irgendwelche Aufgaben
// unsortierte_liste_dicts = sorted(sortierte_liste_mit_dicts, key=itemgetter('X','Y'))
public static void main (String args[])
{
List <Map <Integer, Item>> l = new ArrayList <> ();
Random r = new Random ();
for (int j = 0; j < 3; ++j)
{
Map <Integer, Item> m = new HashMap <> ();
for (int i = 0; i < 3; ++i)
{
int x = r.nextInt (2);
int y = r.nextInt (30);
Item it = new Item (x, y);
int k = r.nextInt (100);
m.put (k, it);
}
l.add (m);
}
zeigeListen (l);
System.out.println ("==============");
l.sort ((m1, m2) -> avg (m1) - avg (m2));
zeigeListen (l);
}
/*
simplified: Annahmen: Groesse u. Menge der Integer werden nicht ueberlaufen,
auch nicht nach Multiplikation mit 100, die den Schaden des Abrundens auf int
kleinhalten soll:
*/
public static int avg (Map <Integer, Item> m) {
int sum = 0;
for (int k : m.keySet ())
sum += k;
return sum/m.size ();
}
public static void zeigeListen (List <Map <Integer, Item>> list)
{
for (Map <Integer, Item> map: list) {
for (Map.Entry <Integer, Item> e : map.entrySet ())
System.out.println (e.getKey ());
System.out.println ("---");
}
}
|
Eine Mean-Funktion in Java8 ist mir nicht bekannt, aber ich habe auch noch quasi nix gemacht mit Java8. Die ersten Verdächtigen kennen aber weder mean, noch avg oder sum, also musste ich schnell was hacken - das ist in der Tat umständlich. Wenn man jetzt noch Fehlerbehandlung dazudenkt ... Ohne den funktionalen Druck von Scala wäre Java wohl auch noch nicht soweit. Die zweite Aufgabe habe ich nicht gelöst. Ich habe es so verstanden, dass Du eine Liste von Maps hast, und dass die Elemente i.d. Map mit einem Schlüssel versehen sind, und über diesen in a) der Mittelwert gebildet werden soll, und die Maps dann i.d. Reihenfolge des Mittelwertes sortiert werden sollen, in b) aber die Elemente aus den Maps sortiert werden sollen, erst nach X und bei Gleichheit nach Y. Über die Mapgrenzen hinweg? In Scala würde man da ein flatten benutzen und dann eine Sortierfunktion übergeben. In Deiner Pseudosyntax sehe ich aber keinen Zugriff in das Innere der Maps und "zurücksortieren" klingt, als solle die ursprüngliche Ordnung hergestellt werden. Da waren die Werte aber noch in einer Liste von Maps - da bleibt ja der Datentyp nicht gleich, oder ich habe das Problem nicht verstanden.
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11176
Wohnort: München
|
user_unknown schrieb: Da das kein lauffähiger Code ist und ich kein Python kann muss ich ein wenig raten, was Du da tust.
Der Code ist lauffähig, den kannst du direkt mit einem python3-Interpreter ausführen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 | $ python3
Python 3.5.2 (default, Nov 7 2016, 11:31:36)
[GCC 6.2.1 20160830] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> def zeige(map):
... for key,value in map.items():
... print(key,value)
...
>>> def zeigeSortiert(map):
... for key,value in sorted(map.items()):
... print(key,value)
...
>>> map = {"vier":4,"eins":1,"neun":9,"drei":3}
>>> zeige(map)
vier 4
eins 1
drei 3
neun 9
>>> print("---------------")
---------------
>>> zeigeSortiert(map)
drei 3
eins 1
neun 9
vier 4
|
Wobei man die Anzahl Codezeilen noch deutlich reduzieren kann, wenn man es darauf anlegt - und dann ist Java durch den nötigen Boilerplate-Code auf einmal deutlich länger, denn 4 Zeilen gehen bei Java allein schon für die Klassendeklaration und die main()-Funktion drauf:
| map = {"vier":4,"eins":1,"neun":9,"drei":3}
_ = [print(key, value) for key, value in map.items()]
print(("-" * 15))
_ = [print(key, value) for key, value in sorted(map.items())]
|
1
2
3
4
5
6
7
8
9
10
11
12
13 | >>> map = {"vier":4,"eins":1,"neun":9,"drei":3}
>>> _ = [print(key, value) for key, value in map.items()]
vier 4
eins 1
drei 3
neun 9
>>> print(("-" * 15))
---------------
>>> _ = [print(key, value) for key, value in sorted(map.items())]
drei 3
eins 1
neun 9
vier 4
|
Edit: zum zweiten Teil braucht man natürlich Beispieldaten:
| >>> liste_mit_dicts = [{'MEAN': 1.25, 'X': 1, 'Y':3},{'X': 2, 'MEAN': 1.15, 'Y': 2}, {'X': 2, 'MEAN': 1.20, 'Y': 2.5}]
>>> sortierte_liste_mit_dicts = sorted(liste_mit_dicts, key=itemgetter('MEAN')) # Sortiere nach dem MEAN-Key in den Dictionaries
>>> sortierte_liste_mit_dicts
[{'Y': 2, 'X': 2, 'MEAN': 1.15}, {'Y': 2.5, 'X': 2, 'MEAN': 1.2}, {'Y': 3, 'X': 1, 'MEAN': 1.25}]
>>> unsortierte_liste_dicts = sorted(sortierte_liste_mit_dicts, key=itemgetter('X','Y')) # Sortiere die Liste nach den X-, dann nach Y-Keys in den Dictionaries
>>> unsortierte_liste_dicts
[{'Y': 3, 'X': 1, 'MEAN': 1.25}, {'Y': 2, 'X': 2, 'MEAN': 1.15}, {'Y': 2.5, 'X': 2, 'MEAN': 1.2}]
|
|
Fanatics
Anmeldungsdatum: 25. August 2010
Beiträge: 1032
|
Und nun lieber Threadersteller, siehst Du, was passiert, wenn man nach "Wie oder was ist am besten" fragt → FLAMEWAR! 😉
Mein Tipp: Spiel ein bisschen mit Scratch rum, damit Du ein Gefühl für die Konstrukte bekommst und dann such' Dir eine Sprache aus, die vielleicht einer aus Deinem Bekanntenkreis nutzt, damit Du mal persönlich fragen kannst...
Viel Spaß!
|
Mimosin
Anmeldungsdatum: 18. Juni 2010
Beiträge: 238
Wohnort: Nahe Berlin
|
Hallo, ich will hier nicht noch alles komplizierter machen, aber als Oldie kann ich noch auf Lazarus (Pascal-/Delphi-Klon) hinweisen. Pascal war jahrelang in Deutschland sehr verbreitet und hat noch viele Anhänger und freie Literatur. In den Foren findest du viel deutschsprachige Hilfe. Als Ausbildungssprache führt es auch einfach in die verschiedensten Sprachkonzepte ein. Gerade grafische Oberflächen sind mit Lazarus extrem einfach zu programmieren. http://www.lazarus-ide.org/ ist für die verschiedensten Betriebssysteme verfügbar und auch schon in den Ubuntu-Quellen vorhanden. Mit dem darunterliegenden FreePascal kannste sogar uralte Turbo-Pascal Tutorials nachvollziehen. Deutsche Hilfe: http://wiki.freepascal.org/Main_Page/de
|