So guys. I have a stupid question to ask: if you were going to design a language what would it be like?
I'm curious to know /prog/'s ideas. We argue language features a lot, and feature interplay a little, but we rarely get down to feature holism. (I'm not asking /prog/ in cooperation to design a language, but that might be hilarious.)
I'm asking because for all my opinions and dissatisfaction with the majority of languages I use I'm still stumped as to what I would like to see, ideally. (Obviously the right-tool-for-the-job maxim applies, but even when I pick a specialization I run into problems making up my mind.)
Name:
Anonymous2010-04-13 22:30
It would either be a Lisp or a concatenative language, since anything else is stupid.
>>2
Dispense with the trolling for a moment and try being insightful.
>>1
It really depends what the language is for, and whether you want it to interface with some existing platform. For example, I'm really fond of Haskell for most "write fucking everything from scratch" projects these days, but if I'm writing, say, a Cocoa or Java shitfest, I'll turn to some form of Lisp.
There is not a good systems language right now. I think there's plenty of room for a new language in that market. I'm talking about the kind of low-level stuff where you absolutely need either C or assembly; stuff that isn't as sensitive to performance as to memory usage or subtle bugs, which means Sepples is an even worse idea than usual. The offerings are really pretty poor here, and people writing this kind of code have to do a lot of work up front that the compiler could handle.
>>2
Would you make any significant changes? If so, what and why? Even a small change to the fundamental language can have huge effects (although... I don't see it doing too much to a Lisp. Then again, Io is pretty nifty if you count that.)
Name:
Anonymous2010-04-13 22:38
>>3
I'm banking my hope upon BitC for a good systems language.
>>3 It really depends what the language is for
Sure. I'm open to opinions on any niche.
Systems language is an interesting choice. I wouldn't have guessed it coming up. /prog/ seems to have a high opinion of C when it comes to that. I'm quite interested in this--I really do like C, but sometimes I think it's more a matter of being the least-worst statically typed assembly language.
>>7 I really do like C, but sometimes I think it's more a matter of being the least-worst statically typed assembly language.
Sweet Jesus, it's like you read every last scrap of the shredded diary that plugs the hole in my aching heart.
>>5 From the perspective of systems programmers, BitC may be more interesting for the fact that the non-optimizing research prototype compiler is delivering performance on early benchmarks that falls within 1% to 1.5% of C on comparable code.
I'd love to see that in action. I'm assuming they disabled optimization on the C code as well... but still.
You are discussing the possibility of creating a new programming language, yet you have made no mention of any possible design philosophy behind it. In all seriousness, you should not be designing a language if you don't have a reason to make it.
You have not even mentioned any concepts related to the design of a programming language beyond the most elementary matters of computer science. You mention garbage collection, yet tell us nothing about how you plan to implement it. You mention "systems languages" without appearing to know anything about the design of such a low-level language. You even seriously mention "performance" as a criteria for your language, without any idea of what the task of making a compiler effecient entails.
We can say that understand concepts like static typing, as far as how to use them. We can say that you understand the effects that static and dynamic typing have on your work. You know how to use a statically typed language, and you know how to use a dynamically typed language. This, however, is only the tip of an icicle on an enormous iceberg.
It is one thing to tell me that "a statically typed language does its type-checking during compilation." It is another thing entirely for you to tell me what the implications of this design are for its effect on every other aspect of the language, for its implimentation, and the very purpose of the language.
I can go on and on, but in any case, you haven't managed to convince anyone here that you know what you're doing.
Let me tell you something that it would do you best to understand before you attempt to discuss a matter of this complexity:
You know nothing about programming.
You know how to learn a programming language and get it to do what you want it to do.
This is not the same as understanding it, understanding its underpinnings, understand its design, its reason, the language itself.
A programming language is nothing but a tool. Does the cook know what was taken into consideration when his blades were designed? Does the construction worker know what his tools are made of? No, they are but tools for accomplishing a job.
The problem here is that we are not talking about performing a job here. We are designing a tool to fit a job. Why is it, then, that you are speaking from the perspective of the worker? Why are you concerning yourself with the outer layers of the problem, when it is only the deepest ones that deserve any attention?
This is not the time for you to entertain the idea of the perfect language. Without a reason, and without an understanding of what a language really is, this discussion becomes pointless. You will gain nothing from discussing this matter with other empty heads. If you still wish to follow this concept to its apex, there is much learning left for you. You cannot attempt to scale the mountain, not yet.
>>10
I sure hope this is copypasta, 'cause it would be a shame if you just wasted half an hour ignoring all the actual discussion that has taken place in the thread so far. Since I can't find any parts of your post in Google, I'll assume you wrote it yourself.
Now go back over the hundreds of other "Let's making language of program!" threads that have littered this forum since the dawn of time. The posts you seem to take issue with are ones that make casual and offhand references to these discussions with the assumption that subsequent posters are aware of them. It just occurred to me: What the hell am I doing? At this rate I'll waste as much time as you did on a post of which no good can come. Better to quit while I'm ahead, I think. Nice talking to you, Mr. Pastarider-kun.
>>10 You are discussing the possibility of creating a new programming language [...]
I'm asking for opinions on programming language feature interactions, not-- You know nothing about programming.
Oh, it's one of these posts. Never mind.
>>13
Something like this. >>10
Unfortunately the current design trend among popular languages is "design by feature accumulation" and this shows no sign of abating any time soon.