-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathlanguage-study.list
811 lines (703 loc) · 7.12 KB
/
language-study.list
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
*Fortran I
1957
Static implicit typing (type based on variable name)
Static allocation
DS:arrays
SY:1
Fortran II
1958
Fortran IV
1962
*Fortran 77
1977
SY:2
*Fortran 90
1990
Heap allocation
SY:3
Fortran 2003
2003
APL
1960
Dynamic implicit typing
Stack allocation
http://www.acm.org/sigapl/
DS:arrays
SY:4
APL 2
1984
APL 96
1996
A+
1988
APL 2
Forth
1969
Stack allocation
SY:1
PostScript
1982
Forth
DS:strings
PostScript level 2
1994
GC
Flow-matic
1957
Static allocation
*COBOL
1960
Flow-matic
Static allocation
DS:records
SY:2
COBOL-68
1968
COBOL-74
1974
COBOL-85
1985
COBOL 2002
2002
Algol 58
1958
Fortran I
Stack allocation
DS:arrays
SY:2
*Algol 60
1960
Algol 68
1968
GC
SY:3
*PL/I
1964
Algol 60,Fortran IV,COBOL
Static explicit typing
Stack allocation
SY:3
Algol W
1966
Algol 60
*Pascal
1971
Algol W,PL/I
Static explicit typing
Heap allocation
Pascal AFNOR
1983
Objective Pascal
1985
Delphi
1995
Modula
1975
Pascal
Modula-2
1977
Modula-3
1989
GC
Oberon
1988
Modula-2
Oberon-2
1991
CSP
1978
occam
1983
Ease
1990
Ada
1979
Pascal,CSP
SY:4
*Ada 83
1983
Ada 95
1995
JOSS
1963
Algol 58
Mumps
1967
Standard Mumps
1977
Mumps 1984
1984
Basic
1964
Fortran IV,JOSS
Dynamic implicit typing
GC
SY:2
Quick Basic
1988
Visual Basic
1990
http://www.microsoft.com/vbasic/
DS:objects
Simula I
1963
Algol 60
Static explicit typing
http://www.cetus-links.org/oo_simula.html
Heap allocation
Simula 67
1967
GC
*Smalltalk
1969
Simula 67
SY:1
Smalltalk 72
1972
Smalltalk 74
1974
Smalltalk 76
1976
Smalltalk 78
1978
*Smalltalk 80
1980
Dynamic implicit typing
Beta
1976
Simula 67
CLU
1974
Simula 67,Pascal
BETA
1983
Smalltalk 80,Modula-2
Self
1987
Smalltalk 80
SY:1
NewtonScript
1993
Self
AppleScript
1993
Smalltalk 80
Dynamic implicit typing
*Eiffel
1986
Ada 83,Simula 67
Static explicit typing
GC
Eiffel 2
1989
Eiffel 3
1996
Sather 0.1
1991
Eiffel 2
Sather 1.0
1994
#Sather 1.1
# 1995
#Sather 1.2.1
# 1999
CPL
1961
Algol 60
Heap allocation
BCPL
1969
B
1970
C
1971
B,Algol 68
Static explicit weak typing
DS:records,arrays
SY:4
*C (K&R)
1978
ANSI C
1989
C99
1999
*C++
1985
C (K&R),Simula 67,Algol 68
SY:5
C++ (ARM)
1990
C++,Ada 83,CLU
*C++ (ISO)
1998
C (ANSI)
1989
C (K&R),C++
SY:4
C 95
1995
C 99
1999
Oak
1991
C++ (ARM)
Static explicit typing (RTTI)
GC
SY:3
*Java
1995
Java 2
1998
*Java 5
2004
Java 6
2006
Java 7
2011
*Java 8
2014
J++
1997
Java
J++ 6.0
1999
Limbo
1996
C 95,Java,CSP
GC
Objective-C
1986
C (K&R),Smalltalk 80
Heap allocation
.NET
1999
*C#
2000
C++ (ISO),Java 2,.NET
GC
SY:4
*C# 2.0
2005
C# 3.0
2007
*C# 5.0
2012
VB.NET
2001
Visual Basic,.NET
http://dmoz.org/Computers/Programming/Languages/Visual_Basic/Visual_Basic.NET/
J#
2002
J++ 6.0,.NET
Snobol
1963
Dynamic implicit typing
GC
DS:strings
Snobol4
1967
Icon
1983
Snobol4,CLU,C (K&R)
http://ringer.cs.utsa.edu/research/icon/
Unicon
2005
sh
1971
Heap allocation
DS:strings
SY:3
csh
1978
sh,C
Heap allocation
tcsh
1981
ksh
1983
sh
ksh88
1988
ksh93
1993
ksh98
1998
zsh
1990
ksh88,tcsh
zsh 3.0
1997
zsh 4.0
2001
sed
1979
awk
1978
C,Snobol4
GC
nawk
1985
REXX
1979
PL/I,Basic
Heap allocation
REXX 3.0
1982
Object REXX
1988
NetREXX
1997
bash
1989
sh,csh,ksh
bash 2.0
1996
bash 3.0
2004
*Perl
1987
nawk,sed,sh
GC
DS:strings,lists
SY:5
Perl 4
1991
*Perl 5
1994
Perl 5.005
1998
Perl 5.6.0
2000
Perl 5.8.0
2002
*JavaScript
1995
Java,Self
GC
http://www.oreillynet.com/pub/a/javascript/2001/04/06/js_history.html
ECMAScript
1997
ECMAScript rel3
1999
JavaScript 1.5
2000
JavaScript 1.7
2006
JavaScript ES2015
2015
JavaScript ES2016
2016
*JavaScript ES2017
2017
JavaScript ES2016,C# 5.0
Lua
1994
Perl 4,Pascal AFNOR
GC
#Lua 3.0
# 1997
Lua 4.0
2000
Lua 5.0
2003
PHP
1995
Perl 5
GC
PHP4
2000
PHP5
2004
*Tcl
1988
nawk
GC
DS:strings
SY:2
Tcl 8.1
1999
*Lisp
1959
Dynamic implicit typing
GC
DS:lists
SY:1
*Scheme
Lisp,Algol 60
1975
Scheme MIT
1978
Scheme 84
1984
Scheme R3RS
1986
Scheme R4RS
1988
*Scheme R5RS
1998
Scheme R6RS
2007
*Common Lisp
1985
Scheme MIT,Lisp
SY:2
Common Lisp (ANSI)
1994
CLOS
1989
Common Lisp
Logo
1967
Lisp
ABC
1980
*Python
1991
ABC,Modula-3,C (ANSI)
GC
DS:strings,lists
SY:2
Python 1.5.2
1999
*Python 2.0
2000
SY:3
Python 2.2
2002
SY:3
#Python 2.3
# 2003
Python 2.4
2004
Python 2.5
2006
Python 3.0
2008
Python 3.6
2016
Boo
2003
Python,.NET
Pike
1996
C++ (ARM)
GC
*Ruby
1995
Python,Perl 4,Smalltalk 80,Eiffel 2
GC
DS:strings,lists
SY:4
Ruby 1.8
2003
Cecil
1992
CLOS,Eiffel
GC
Dylan
1992
CLOS,Smalltalk 80,C++ (ARM)
GC
Squeak
1996
Smalltalk 80,Self,Logo
ISWIM
1966
SASL
1976
KRC
1981
FP
1978
SY:1
FL
1985
J
1997
APL 96,FL
*ML
1977
GC
DS:lists,datatypes
SY:2
*SML
1984
SML 90
1990
SML 97
1997
SML.NET
2002
SML 97,.NET
*Caml
1987
SML
*OCaml
1996
SY:3
OCaml 3.0
2000
SY:4
Pizza
1996
Java,SML
F#
2002
OCaml 3.0,.NET
http://research.microsoft.com/projects/ilx/fsharp.htm
Nemerle
2003
http://nemerle.org/
Hope
1978
ML
Lazy ML
1984
KRC,ML
Lean
1985?
SML
Clean
1987?
Concurrent Clean
1989?
Miranda
1985
KRC,SASL,ML,Hope
GC
Haskell
1990
Miranda,Lazy ML
SY:4
Gofer
1991
Haskell
*Haskell 98
1998
Haskell,Gofer
GHC 5.00
2001
GHC 6.0
2003
*Haskell 2010
2010
Mondrian
2000
Haskell 98,.NET
CAL (Open Quark)
2006
Haskell 98,Java 2
*Prolog
1970
GC
DS:lists,datatypes
SY:1
Prolog ISO
1995
SY:2
Erlang
1988
Common Lisp,Prolog
CLIPS
1985
Prolog
CLIPS 5.0
1991
CLIPS,CLOS
Lambda Prolog
1989
Prolog,SML
SY:4
Life
1988
Prolog
Mercury
1993
Prolog,SML 90,Haskell
DS:datatypes
SY:3
Oz 1
1995
Life
# info from http://www.info.ucl.ac.be/people/PVR/tut101000.ps, p.22
Oz 3
1999
REBOL
1998
CLOS
http://www.rebol.com/
K
1993
A+,Scheme R4RS
F-Script
1998
Smalltalk 80,APL
http://www.fscript.org/
SEQUEL
1974
SEQUEL/2
1976
SQL
1977
ANSI SQL
1986
ISO SQL
1987
SQL-92
1992
SQL-1999
1999
SQL-2003
2003
Quilt
2000
SQL-92
XQuery
2001
Nice
2003
Java 2,OCaml,CLOS
http://nice.sf.net/
Scala
2004
Java 2,.NET,OCaml
http://scala.epfl.ch/
Io
2003
Smalltalk 80,Lua,NewtonScript
Groovy
2004
Java 2,Ruby
Groovy 1
2007
Fortress 1.0beta
2007
Scala,Fortran 2003
Cyclone
2002
C 95
Cyclone 1.0
2005
D 1.0
2007
C++,C99,Java,C#
Zonnon
2005
Oberon-2,.NET
S
1976
R
1993
S,Common Lisp,Scheme
*Go
2009
APL 96,C,CSP,Limbo,Modula-3,Oberon-2,occam,Pascal,Python 2.0,Smalltalk 80
*Rust
2010
C# 2.0,C++,Cyclone,Erlang,Haskell 98,Limbo,OCaml,Scheme R5RS
*Swift
2014
C# 5.0,CLU,D 1.0,Haskell 2010,Objective-C,Python 2.0,Ruby,Rust
*Kotlin
2011
C# 2.0,Groovy,Java 5,JavaScript,Scala