I am looking for a programming language, it can't be non-free (thats means free as free of charge) or any of that non-opensource crap. It has to be real multithread-capable (none of that green thread/ co-routine bullshit) and has to produce small executables(no 100-line program should be above 5mb). And has to be really fast (not more than 2 times slower than C). Also It can't be purely functional or type-unsafe. And you have to post examples of that language used to make real programs(i want to make sure its useful in the real world). And it would need to come with macros and RTTI out of the box. OH! and it CANNOT have mandatory Garbage Collection, or been made to use reference counting. It has to be portable, or at least run in Linux and Windows. Also it would have be nice if it had a large standard library and was multiparadigm.
>>4
Append Haskell, ATS, and ML influenced language, even Prolog influenced languages.
--Erlang
Name:
Anonymous2013-08-02 1:30
>>4
Lisp
[]non-free
[]non-opensource
[x]not real multithread-capable (SMP and OS-level threads)
[x]cannot produce small executables
[x]low speed ( more than 2 times slower than C)
[]purely functional
[] type-unsafe.
[x]no examples fo real-world use
[]no macros
[]no RTTI
[x]forced Garbage Collection
[x]forced reference counting
[]non-portable
[]small standard library
[]single-paradigm
Name:
Anonymous2013-08-02 1:48
>>4-5
Using language A to generate language B code is considered as using Language A or Language B alone.
You can't have both languages benefits without both languages drawbacks.
>>7
So when you compile Haskell to machine code, you get machine code's drawbacks?
Name:
Anonymous2013-08-02 1:56
>>7
Nope. In Haskell the features of Haskell remian in compiled machine code. Also:
[]non-free
[]non-opensource
[]not real multithread-capable (SMP and OS-level threads)
[x]cannot produce small executables
[]low speed ( more than 2 times slower than C)
[x]purely functional
[] type-unsafe.
[x]no examples fo real-world use
[x]no macros
[]no RTTI
[x]forced Garbage Collection
[]forced reference counting
[]non-portable
[]small standard library
[x]single-paradigm
Name:
Anonymous2013-08-02 2:02
>>8
Its seems to me that its correct. If you have any objections or clarifications, state them.
hmm, all you list are performance concerns, threads, and some seeples crap....soo.....seeples
Name:
Anonymous2013-08-02 2:44
Why is "examples fo real-world use" even a thing? That's the line COBOL and PHP advocates use because they have nothing else. If its not PHP ad hoc, is Turing complete and there are a few libraries to get started (people seem entitled with their boosts and batteries these days) that just feels like a universal cop out in case someone actually finds your utopian language. If the fundamentals of the language design itself is shit then its not worth ever touching, if the implementation is non-free you might as well have designed your own language to begin with, as for everything else they can be improved after the fact.
Fine: non-free
Fine: non-opensource
Fine: not real multithread-capable (SMP and OS-level threads)
Fine: cannot produce small executables
Fine: low speed ( more than 2 times slower than C)
Fine: purely functional
Fine: type-unsafe.
Nope: no examples fo real-world use
Fine: no macros
Fine: no RTTI
Fine: forced Garbage Collection
Fine: forced reference counting
Port it yourself: non-portable
Write it yourself: small standard library
Possible signs of an ad-hoc design otherwise: single-paradigm
Anyway, Modula-2, Ada and perhaps Oberon sans GC may be the closest things you want (if you forgo macros) since they come from a strong typing tradition and from a time emitting machine code was still a thing.
>>19
Examples of real-world use: that means your programs have a userbase.
A toy program which demonstrates the elegance of some algorithm is not a complete real-world program. A toy program which abstracts out some task isn't a real-world program(unless its a library).
Real-world programs have interfaces,bug-reports/tickets/feedback channels, developer teams and diverse userbases.
Toy programs are text-only niche utilities,(typically)developed for programmers, as single-author projects which consider that users should be able to fix/port/adapt the code themself.
>>24
Ada is superior to Java.
Java is [x]non-free (owned by Oracle) while Ada is an Open Standard
Java [x]cannot produce small executables (executable wrapping requires huge JVM) while Ada can
Java has [x]no macros ,Ada has integrated preprocessor
Java has [x]forced Garbage Collection , Ada doesn't
Name:
Anonymous2013-08-02 14:12
>>25 >>22
Anyway, out of curiosity I've checked my own recommendation, if you were to relax the GC requirement, you might actually like Oberon. The Oxford Oberon-2 compiler produced a 138K executable for a factorial example, no dynamic runtime dependency either. And full operating systems that fit on a floppy have been made in this language.
Name:
Anonymous2013-08-02 14:28
And you have to post examples of that language used to make real programs(i want to make sure its useful in the real world)
If you're this retarded it doesn't matter what language you shove down your throat.
Brainfuck is free. It is multithreaded capable, there are several implementations which are. It produces small executables. It is really fast. It is not type unsafe (just one type) and not purely functional.
And it is used in the real world:
Name:
Anonymous2013-08-02 17:16
a cat program: ,[.[-],]
This can be actually used instead of the normal cat.
Name:
Anonymous2013-08-02 18:50
C# checks all the boxes. There is a free version and it runs on Linux through mono.
If you count the installed framework the output is large but technically you don't need it all.
C# is owned by M$ which means all your "free versions" are running on goodwill of M$.
Name:
Anonymous2013-08-03 2:04
>>37 JavaScript:
[]non-free
[]non-opensource
[x]not real multithread-capable (SMP and OS-level threads)
[x]cannot produce small executables
[x]low speed ( more than 2 times slower than C)
[]purely functional
[] type-unsafe.
[]no examples fo real-world use
[x]no macros
[]no RTTI
[x]forced Garbage Collection
[x]forced reference counting
[x]non-portable
[x]small standard library
[]single-paradigm
Name:
Anonymous2013-08-03 2:22
jython
Name:
Anonymous2013-08-03 2:53
symta
Name:
Anonymous2013-08-03 3:28
>>41
low speed, non-portable, small standard library, no real word use, no documentation...