Post 9jDEnhRcJdBOsNes9A by Wolf480pl@niu.moe
(DIR) More posts by Wolf480pl@niu.moe
(DIR) Post #9jDBZPE6x7oySRpk2q by sir@cmpwn.com
2019-05-26T19:17:32Z
1 likes, 0 repeats
The perfect programming language will take one source file and produce one object file, will link to objects produced by other compilers, and will have no opinion about build systems whatsoever
(DIR) Post #9jDBftpa4yef74SLGC by ari@yiff.life
2019-05-26T19:18:43Z
0 likes, 0 repeats
@sir 🤔
(DIR) Post #9jDBptoH0q0BwYc3Ie by lanodan@queer.hacktivis.me
2019-05-26T19:20:54.286275Z
0 likes, 0 repeats
@sir So basically C?
(DIR) Post #9jDBqjgG9sUOolGO1o by SoniEx2@cybre.space
2019-05-26T19:20:44Z
0 likes, 0 repeats
@sir the perfect programming language will follow what the user/developer wants/needs.i.e. https://ganarchy.github.io/project/125baefaade696119262cd7ae5127c4265a59edc/
(DIR) Post #9jDBvsmJlDsaTvYEG8 by sir@cmpwn.com
2019-05-26T19:21:09Z
0 likes, 0 repeats
@lanodan right
(DIR) Post #9jDC1LWQJtar4nip3A by zge@icosahedron.website
2019-05-26T19:22:01Z
0 likes, 0 repeats
@sir How interesting that your perfect programming language has nothing to do with the language itself, but rather it's implementation...
(DIR) Post #9jDCNV75L9jRC6QzJY by ignaloidas@mastodon.gamedev.place
2019-05-26T19:26:39Z
0 likes, 0 repeats
@sir Uhh, linking to Java objects? .pyc? I don't think that there will be any such programming language. .NET sometimes comes to this kind of cross-linking but it is still limited to languages implemented with it.
(DIR) Post #9jDCQGtCgGpLwrGKYa by 314@kawen.space
2019-05-26T19:26:03.036965Z
0 likes, 0 repeats
@sir @lanodan i'm unconvinced by the amount of files the C preprocessor pulls in
(DIR) Post #9jDCQH4tymBWX8jfn6 by lanodan@queer.hacktivis.me
2019-05-26T19:27:28.111758Z
0 likes, 0 repeats
@314 @sir Well this part is needed at least for the librairies headers so the C compiler can get the structs, functions, … of other libs.
(DIR) Post #9jDCeshUtdnDGukm5w by gsora@bsd.network
2019-05-26T19:29:48Z
0 likes, 0 repeats
@sir just like the 1970's!
(DIR) Post #9jDCl5qgvMuJmv13NQ by sir@cmpwn.com
2019-05-26T19:30:13Z
0 likes, 0 repeats
@ignaloidas by objects I mean elf files
(DIR) Post #9jDClhVktejuazVs1I by 314@kawen.space
2019-05-26T19:28:24.899087Z
0 likes, 0 repeats
@lanodan @sir soooo it's not one source file?
(DIR) Post #9jDClhm3v1mdPZ8tRA by lanodan@queer.hacktivis.me
2019-05-26T19:31:21.305573Z
0 likes, 0 repeats
@314 @sir One source file from the program, any amount of librairies and their code.A header could be a binary it would just complicate things and at least break the ability to change the preprocessor, compiler, linker, … in the toolchain.
(DIR) Post #9jDCmZWg4RYy7UMMxE by a_breakin_glass@cybre.space
2019-05-26T19:31:30Z
0 likes, 0 repeats
@sir and also not be opinionated about formatting
(DIR) Post #9jDCphqvZL24oTKHS4 by sir@cmpwn.com
2019-05-26T19:30:54Z
0 likes, 2 repeats
@gsora old != bad. This text brought to you courtesy of TCP
(DIR) Post #9jDCqhSGX891rwGScS by Wolf480pl@niu.moe
2019-05-26T19:32:13Z
0 likes, 0 repeats
@ignaloidas @sir JVM is in the same position as .NET here.One source file - be it .java, .scala, or whatever - results in one .class file.You can link .class files together, no matter what JVM language they were written in.Also, Java has no opinion on build system whatsoever. You can use Ant or Maven or run javac by hand with whatever CLASSPATH (think of it like -I (capital i) flag in gcc) you configured.
(DIR) Post #9jDCxSPEsngbDt4SZc by Wolf480pl@niu.moe
2019-05-26T19:33:26Z
0 likes, 0 repeats
@ignaloidas @sir well ok sometimes one .java file results in multiple .class files if you nest classes, but it's better this way than if it required multiple source files to produce one object file, right?
(DIR) Post #9jDCz0ngUWHWBVFL0K by sir@cmpwn.com
2019-05-26T19:32:43Z
0 likes, 0 repeats
@a_breakin_glass actually no it should do this one
(DIR) Post #9jDD2afBbtOOHQyga0 by icedquinn@niu.moe
2019-05-26T19:34:24Z
0 likes, 0 repeats
@sir @gsora i tried eating this vintage sandwich but all it did was make me ill :blobcoffee:
(DIR) Post #9jDD2y9SHWGr7yJgS8 by gsora@bsd.network
2019-05-26T19:33:12Z
0 likes, 0 repeats
@sir >old != badI didn't assume the opposite!
(DIR) Post #9jDD9OKBspLK2WOsRU by gsora@bsd.network
2019-05-26T19:35:38Z
0 likes, 0 repeats
@icedquinn @sir have you tried rewriting that vintage sandwich in C?
(DIR) Post #9jDDBbxGB4zutMjVrM by ignaloidas@mastodon.gamedev.place
2019-05-26T19:36:00Z
0 likes, 0 repeats
@Wolf480pl @sir Oh, I forgot that there was more than one language for JVM. Then yes, it is in the same position as .NET. Still it's hard to cross link them.
(DIR) Post #9jDDHpVchEFGfQltNA by a_breakin_glass@cybre.space
2019-05-26T19:37:07Z
0 likes, 0 repeats
@sir being opinionated about that is almost as bad as being opinionated about build systems
(DIR) Post #9jDDNl8drKWOqiqjdw by sir@cmpwn.com
2019-05-26T19:38:06Z
0 likes, 0 repeats
@a_breakin_glass the language is the only party that has the right to be opinionated about style. In fact there should only be one way to write any given source code which doesn't cause a syntax error
(DIR) Post #9jDDXGPgwt8KSAMAUa by Wolf480pl@niu.moe
2019-05-26T19:39:55Z
0 likes, 0 repeats
@ignaloidas @sir well, you could say that the C runtime is in the same position, and you have a few languages that compile to it (C, C++, maybe Pascal or Fortran? not sure) and can be easily cross-linked, but it's still hard to cross-link any of those with JVM or .NET.Now this argument falls apart if you notice that .NET and JVM are implemented in C or C++, but... maybe we could change that? :P
(DIR) Post #9jDDXyigDeSxrnZxCK by 314@kawen.space
2019-05-26T19:39:45.905971Z
0 likes, 1 repeats
@sir @a_breakin_glass like in C where the asterisk in variable declaration can have any amount of whitespace on either side?
(DIR) Post #9jDDnf7mqC5vj8njHM by Wolf480pl@niu.moe
2019-05-26T19:42:53Z
0 likes, 0 repeats
@sir @a_breakin_glass I know a language that satisfies all those criteria.It's machine code.(with some kind of static verifier, so that you get syntax errors at build time instead of SIGILL)
(DIR) Post #9jDDolHNRYAd6ZoLfU by ignaloidas@mastodon.gamedev.place
2019-05-26T19:42:50Z
0 likes, 0 repeats
@sir ahh, but that limits the language feature options a bit. It is a lot harder to make a dynamic language compile to elf than to make it compile into VM objects. Definitely possible, but for features like eval() you will need to bundle whole interpreter to it, which is probably not that small. Not having eval() doesn't necessarily fix it, as dynamic languages often have deep introspection or self-modifying abilities, which would be hard to implement without some kind of an interpreter bundled.
(DIR) Post #9jDDuQ7b1Ju9Dsvzea by Wolf480pl@niu.moe
2019-05-26T19:44:06Z
0 likes, 0 repeats
@sir @a_breakin_glass Now, you may think I'm trolling but I'm only trying to help you figure out which criteria you've missed, so that you can add them to your set of requirements.
(DIR) Post #9jDDy1UKY3anyyHnY8 by SoniEx2@cybre.space
2019-05-26T19:42:59Z
0 likes, 0 repeats
@sir @a_breakin_glass x=x;fn foo(){} foo();NOP
(DIR) Post #9jDE362v1tpjZAsr3Y by sir@cmpwn.com
2019-05-26T19:43:20Z
1 likes, 0 repeats
@ignaloidas dynamic languages weren't invited
(DIR) Post #9jDE5tVG7WIRXATQkS by sir@cmpwn.com
2019-05-26T19:43:54Z
0 likes, 0 repeats
@Wolf480pl @a_breakin_glass I know you're being sarcastic but this isn't true, people who coded in machine code had some freedom in style
(DIR) Post #9jDEChw7WWWnggHqCm by Wolf480pl@niu.moe
2019-05-26T19:47:26Z
0 likes, 0 repeats
@sir @a_breakin_glass well ok you can dorep retinstead of justretand on non-AMD processors both will work equally well.Or you canleaveinstead ofmov esp, ebppop ebp
(DIR) Post #9jDEXF9FkiQYU3Dnua by sir@cmpwn.com
2019-05-26T19:51:07Z
0 likes, 0 repeats
@Wolf480pl @a_breakin_glass xor eax, eax versus mov eax, 0, or the choice to use or not to use, uh, "hacks"
(DIR) Post #9jDEd1cMyGR2G1b6zw by sir@cmpwn.com
2019-05-26T19:51:16Z
0 likes, 0 repeats
@Wolf480pl @a_breakin_glass e.g. SMC
(DIR) Post #9jDEhW8DSp5m3IdTEW by sir@cmpwn.com
2019-05-26T19:52:11Z
0 likes, 0 repeats
@Wolf480pl @a_breakin_glass there's a different level of balls to the wall crazy shit that you can get to with handwritten assembly (and a mix of handwritten machine code) that compilers can't hope to compete with
(DIR) Post #9jDElyeLNMmlern1d2 by sir@cmpwn.com
2019-05-26T19:52:37Z
1 likes, 4 repeats
@Wolf480pl @a_breakin_glass http://www.catb.org/jargon/html/story-of-mel.html the classic text on this subject
(DIR) Post #9jDEnhRcJdBOsNes9A by Wolf480pl@niu.moe
2019-05-26T19:54:03Z
0 likes, 1 repeats
@sir @a_breakin_glass >MelYeah, I've read that a while ago.This level of hackery... the required in-depth understanding of the machine... I wish we had more of that these days
(DIR) Post #9jDGFlXMnBhHdFIJMW by ignaloidas@mastodon.gamedev.place
2019-05-26T20:10:01Z
0 likes, 0 repeats
@sir That's a no for me. Dynamic languages help me develop faster and simpler, without as much boilerplate.
(DIR) Post #9jDUKDFb5y0G6GzuW8 by ashfurrow@mastodon.technology
2019-05-26T22:47:44Z
0 likes, 0 repeats
@sir consciously having no opinion of build systems is itself an opinion of build systems :P
(DIR) Post #9jDgHVDx0rJWQPhYnY by skybrian@cmpwn.com
2019-05-27T01:01:33Z
0 likes, 0 repeats
@sir in this language, how do you declare common types and dependencies on functions defined in other files?
(DIR) Post #9jDgXhvxWf4kTe0sme by sir@cmpwn.com
2019-05-27T01:04:23Z
0 likes, 0 repeats
@skybrian put some type info into an ar archive imo