Welche Programmiersprachen haben noch eine große Zukunft vor sich, welche gelten als veraltet?
-
Wenn ich mich an die Konvention halte, dass Schlüssel und Werte mit Leerzeichen und verschiedene Einträge mit Newlines getrennt werden, komme ich auf
h={};IO.read("foo.txt").chars{|i|h[i]||=0;h[i]+=1};puts h.sort.map{|o|o*" "}
-
na klar: Die Ausgabe, die von der Form
{($A->9). ($B->5). ($C->3). ...($y->14)}
ist, erhalte ich wahlweise mit dem Tastendruck ctrl-p oder print-it aus dem Kontextmenü des Ausdrucks, oder programmgesteuert mit
0 logCr: (FileStream fileNamed: 'foo.txt') contents asBag sortedElements
(65 Zeichen plus Filename)
-
Bezug:
Michael E. schrieb:
Gibts bei dir ne Ausgabe?
-
es steht jetzt 65:69 zugunsten von smalltalk :xmas2:
-
Die Ausgabe ist ja aber nicht ganz so schön.
Hab grad mal im Python-Forum nachgefragt. Es geht wesentlich eleganter als ich das gemacht hatte. Nämlich so:
import collections as c with open("c:/Dem_lolor_sein_Post.txt","r")as f: print("\n".join("{} {}".format(*t)for t in c.Counter(f.read()).most_common()))
-
61 Zeichen plus Filename:
0logCr:(FileStream fileNamed:'foo.txt')contents asBag sortedElements
-
!rr!rr_. schrieb:
es steht jetzt 65:69 zugunsten von smalltalk :xmas2:
Wir müssen uns schon einigen, ob wir nur eine irgendwie formatierte Ausgabe oder eine Ausgabe mit festem Format wollen. In beiden Fällen liege ich im Moment vorne.
unformatiert:
h={};IO.read("foo.txt").chars{|i|h[i]||=0;h[i]+=1};puts h.sort 0logCr:(FileStream fileNamed:'foo.txt')contents asBag sortedElements
Ohne explizite Ausgabe:
(FileStream fileNamed: 'foo.txt') contents asBag sortedElements h={};IO.read("foo.txt").chars{|i|h[i]||=0;h[i]+=1};h.sort
Formatiert hast du noch nichts gezeigt.
-
die Aufgabe bestand in alphabetisch sortierter Ausgabe. Ein hash "6fzdt21r8h42k 16z5zghdjzs..." ist keine solche Ausgabe. Mein snippet liefert:
{($A->9). ($B->5). ($C->3). ...($y->14)}
Es steht 61Z : 69Z zugunsten smalltalk.
-
Es steht 61Z : 69Z zugunsten smalltalk.
Wie kommst du darauf? Michaels Beispiele sind doch kürzer.
-
!rr!rr_. schrieb:
die Aufgabe bestand in alphabetisch sortierter Ausgabe. Ein hash "6fzdt21r8h42k 16z5zghdjzs..." ist keine solche Ausgabe.
Warum ignorierst du meinen Code? Und wie willst du auf die Ausgabe kommen?
irb(main):106:0> puts h {"d"=>1, "i"=>4, "e"=>11, "s"=>3, " "=>7, "t"=>4, "n"=>2, "\n"=>1, "r"=>4, "g"=>1, "h"=>2, "\xFC"=>1, "b"=>1, "m"=>1, "z"=>1, "l"=>1, "."=>1} => nil
Nix kryptisch. Und sortiert erhält mans dann, wenn man
sort
benutzt:irb(main):108:0> h={};IO.read("foo.txt").chars{|i|h[i]||=0;h[i]+=1};p h.sort [["\n", 1], [" ", 7], [".", 1], ["b", 1], ["d", 1], ["e", 11], ["g", 1], ["h", 2], ["i", 4], ["l", 1], ["m", 1], ["n", 2], ["r", 4], ["s", 3], ["t", 4], ["z", 1], ["\xFC", 1]] => [["\n", 1], [" ", 7], [".", 1], ["b", 1], ["d", 1], ["e", 11], ["g", 1], ["h", 2], ["i", 4], ["l", 1], ["m", 1], ["n", 2], ["r", 4], ["s", 3], ["t", 4], ["z", 1], ["\xFC", 1]]
Das ist kürzer als alles, was du gepostet hast.
-
Befehlsabkürzungen dürfen also verwendet werden, wie ich sehe ...
Prima: mit Befehlsabkürzungen wie deinem "p" schaffe ich es im Workspace von smalltalk mit 40 Zeichen plus Filename:
Fi<tab>fileN<down><down><tab>'foo.txt')co<tab><bkspace><bkspace>asBag sortedElements<ctrl-p>
Ausgabe:
{($A->7). ($B->5). ($C->8). [...] ($y->4)}
zum Längenvergleich jetzt mit den Abkürzungen T=<tab>, D=<down>, B=<bkspace> P=<ctrl-p> gegenübergestellt:
FiTfileNDDT'foo.txt')coTBBasBag sortedElementsP h={};IO.read("foo.txt").chars{|i|h[i]||=0;h[i]+=1};p h.sort
40:52, smalltalk führt mit 12 Zeichen Vorsprung
-
Fi<tab>fileN<down><down><tab>'foo.txt')co<tab><bkspace><bkspace>asBag sortedElements<ctrl-p>
Ist das jetzt dein Ernst?
Oder kann man das etwa als Datei speichern und mittels Smalltalk-Interpreter aufrufen? Dürfte bei der Rubyversion möglich sein.
Die ungeschriebene Regel war doch, nur die Standardbibliothek zu benutzen. p ist Teil davon. Also sei ein Mann und akzeptiere deine Niederlage - sonst machst du dich nur lächerlich.
-
wennn in ruby der Methodenaufruf s.inspect abgekürzt durch "p s" eingegeben werden darf, dann muß ich in meinem workspace auch FileStream abgekürzt durch "Fi<tab>" eingeben dürfen - gleiches Recht für alle :xmas1:
-
Na, wenn du meinst.
-
!rr!rr_. schrieb:
wennn in ruby der Methodenaufruf s.inspect abgekürzt durch "p s" eingegeben werden darf, dann muß ich in meinem workspace auch FileStream abgekürzt durch "Fi<tab>" eingeben dürfen - gleiches Recht für alle :xmas1:
Das ist doch lächerlich.
p
ist, wie comonad richtig gesagt hat, Teil der Standardbibliothek. Das hat nichts mit Autovervollständigung oder sonst was zu tun. Ansonsten definier ich mir in meiner Arbeitsumgebung den Shortcut Strg+U, der meinen kompletten Code hinschreibt. Hey, ich hab mit einem Zeichen gewonnenEdit: Mein Gott, vielleicht sollte ich nochmal kurz drüberlesen, was ich schreibe...
-
Ich kenne eine Programmiersprache, mit der kann ich ein Programm schreiben, das kürzer ist als in jeder anderen Sprache. Die Programmiersprache heißt X und der Code sieht so aus:
filename.txt
Die Sprache erwartet nur den Namen der Datei, die geparst werden soll, danach erfüllt sie alle geforderten Anforderungen. Ist das nicht toll? Und das beste: Ich hab die Sprache gerade erfunden. Jetzt will ich mal sehen wie ihr das unterbietet.
-
Antoras schrieb:
Ich kenne eine Programmiersprache, mit der kann ich ein Programm schreiben, das kürzer ist als in jeder anderen Sprache. Die Programmiersprache heißt X und der Code sieht so aus:
filename.txt
Die Sprache erwartet nur den Namen der Datei, die geparst werden soll, danach erfüllt sie alle geforderten Anforderungen. Ist das nicht toll? Und das beste: Ich hab die Sprache gerade erfunden. Jetzt will ich mal sehen wie ihr das unterbietet.
Das ist keine Sprache, das ist eine Beschäftigung für Arbeitslose.
Edit: :xmas1:
-
Antoras schrieb:
Ich kenne eine Programmiersprache, mit der kann ich ein Programm schreiben, das kürzer ist als in jeder anderen Sprache. Die Programmiersprache heißt X und der Code sieht so aus:
filename.txt
[...] Jetzt will ich mal sehen wie ihr das unterbietet.
Das ist leicht. Ich präpariere ein smalltalk Image mit:
Number compile: 'x (FileStream fileNamed:''foo.txt'')contents asBag sortedElements printOn: Transcript. Transcript flush.'.
In diesem neuen Dialekt läßt sich die Buchstabenverteilung mit dem folgenden 2-Zeichen-Befehl ausgeben:
0x
-
Hacker schrieb:
Antoras schrieb:
Ich kenne eine Programmiersprache, mit der kann ich ein Programm schreiben, das kürzer ist als in jeder anderen Sprache. Die Programmiersprache heißt X und der Code sieht so aus:
filename.txt
Die Sprache erwartet nur den Namen der Datei, die geparst werden soll, danach erfüllt sie alle geforderten Anforderungen. Ist das nicht toll? Und das beste: Ich hab die Sprache gerade erfunden. Jetzt will ich mal sehen wie ihr das unterbietet.
Das ist keine Sprache, das ist eine Beschäftigung für Arbeitslose.
Du versteht sein Post nicht.
-
OMG, immer wieder dieselben doofen Fragen!
Der Autor dieses Threads ist wahrscheinlich mal wieder ein 12-jähriger Möchtegern-Hacker, der ohne Coding nicht leben kann und sich daran aufgeilt.
Nur zur Info: Jede heute verbreitete Programmiersprache lässt sich in einigen Monaten oder gar Wochen vernünftig erlernen. Es ist aus diesem Grund KEINE besondere Fähigkeit, programmieren zu können! Von daher ist es absolut IRRELEVANT welche Programmiersprache in 10, 20 oder 30 Jahren mal wieder von irgendeinem gierigen Großkapitalisten gehypt wird (Berühmte Beispiele: Java und C# = 2 Sprachen, aber ein und derselbe Dreck).
Jeder mit ein wenig Zeit kann sich in eine BELIEBIGE Programmiersprache einarbeiten, was insbesondere bedeutet, dass das Gehalt von Programmierern stetig abnimmt (Immerhin gibt es Zig-Millionen Chinesen, Inder, Russen, etc. die mindestens genauso gut programmieren können und nichts kosten). Gesucht werden Schauspieler, die dumm daherreden und Scheiße als Gold verkaufen können (Fußballer, Entertainer, Manager, Banker,...).
Da ich selber gerne (hobbymäßig) programmiere, kann ich daher nur eine Programmiersprache empfehlen, die nahezu KEINER verwendet, da man in dieser Ecke noch gut durchdachte Sprachen entdecken kann!