Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Geek Culture / Design your own language: What would your dream language look like?

Author
Message
Three Score
19
Years of Service
User Offline
Joined: 18th Jun 2004
Location: behind you
Posted: 19th May 2007 18:14
My dream language would be like a more controlled version of C++

One of the big features over C/C++ would be multiple argument returning..

unsigned int, string MyFunc(unsigned int bah){
return 0x1000,"hi there";
}

//...
main{
unsigned int tmp;
string bah;
tmp,bah=MyFunc(1);
//tmp now equals 0x1000, and bah is "hi there"
}



and ummm...yea

another thing is easier to use inline assembly..like being able to do something like this:

void Func(unsigned int bah){
__asm("mov eax,[_bah]\n"); //with intel_syntax


Another tihng would be greater control over the underlying aspects of C++
like being able to do something like

void main(){
NO_CONSTRUCT MyClass bah;
//...
CONSTRUCT MyClass;
}


This is would be really useful when dealing with lowlevel crap..

Also, a way to make temporary structs would be nice like:

void MyFunc(group{unsigned int a,unsigned int b},unsigned int a){
bah=group.a;
bah=group.b;
bah=a; //this is different from above
}

void main(){
MyFunc({1,2},3);
}


of course, that method may also be very good for returning multiple values though...

Also a rich set of string functions like in PHP would be nice to have standard..

hmmm....
think that is about it...

Open86 --My Emulator (now with it's first super alpha release
I'm addicted to placebo's...I would quit but it wouldn't mean anything! lol
ionstream
19
Years of Service
User Offline
Joined: 4th Jul 2004
Location: Overweb
Posted: 19th May 2007 18:54
Quote: " Which are of course nothing to do with it?"


Sure it does! Overloading the << and >> operators in a class the way STD::String does is better, in my opinion, then the va_start and va_end macros that sprintf uses. Gawrsh, I didn't realize people had such strong opinions about STL!

That's not as bad as you think you said.
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 19th May 2007 20:20 Edited at: 19th May 2007 20:24
Quote: "Yes, because the C++ compiler requires the class definitions (symbols) in the .h files."

Which is quite understandable if you want to access the class from other files.

Quote: "This _will_ introduce problems later on."

As David R said, what kind of problems? I've never had any problems.

Quote: "Sure it does! Overloading the << and >> operators in a class the way STD::String does is better, in my opinion, then the va_start and va_end macros that sprintf uses."

Better then what? Overloading the << and >> operators is nothing to do with obtaining variable arguments in a function.

Tempest (DBP/DBCe)
Multisync V1 (DBP/DBCe)
Arkheii
20
Years of Service
User Offline
Joined: 15th Jun 2003
Location: QC, Philippines
Posted: 19th May 2007 20:44 Edited at: 19th May 2007 21:04
Quote: "you can usually get around it quite easily"


But do such workarounds benefit the language? All they do is give the compiler an excuse to tell the programmer to RTFM. A better language strives to avoid such 'gotchas.' What groundbreaking C++ language feature is so dependent on those workarounds that the compiler requires them in the first place?

Quote: "Which is quite understandable if you want to access the class from other files."


Doesn't justify why you need to maintain 2 source files per class.

Quote: "Quote: "This _will_ introduce problems later on."
As David R said, what kind of problems? I've never had any problems."


Who can say that a file at the end of a chain won't be using the same #include guards as you do? Not my workmate, that's for sure.

I'll take it David R would love to have forward declarations in his language as much as you do.

C++ forces you to program defensively from the _compiler_, it's not even funny.

David R
20
Years of Service
User Offline
Joined: 9th Sep 2003
Location: 3.14
Posted: 19th May 2007 21:19
Quote: "Doesn't justify why you need to maintain 2 source files per class."


That isn't the ONLY reason for separating H's and CPP's, you realise that, right?

That creates a division between interface and implementation, which is extremely useful - also, if you're creating a DLL or library, it allows you to give your users a bunch of headers to actually make use of the classes/files, and the .lib taking the place of the cpp's/binary: that way, they can use the implementation without seeing how it is implemented (and a large majority of libraries out there use this method)


09-f9-11-02-9d-74-e3-5b-d8-41-56-c5-63-56-88-c0
Xenocythe
18
Years of Service
User Offline
Joined: 26th May 2005
Location: You Essay.
Posted: 19th May 2007 21:36
Mine would only have 3 commands:

Make MMORPG (Name, Author, Players, Coolness level, violence)
Praise the almighty Xenocythe (years to praise for)
Visit DarkDev.co.nr (How much it rocks, 10 to 10, 10 being uber cool)




Jeku
Moderator
20
Years of Service
User Offline
Joined: 4th Jul 2003
Location: Vancouver, British Columbia, Canada
Posted: 19th May 2007 22:26
Yes, as David said, header files are meant for separating the interface and the implementation.

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 19th May 2007 23:41 Edited at: 19th May 2007 23:41
Quote: "Who can say that a file at the end of a chain won't be using the same #include guards as you do? Not my workmate, that's for sure."

Why would both have the same file name?

Tempest (DBP/DBCe)
Multisync V1 (DBP/DBCe)
Deathead
17
Years of Service
User Offline
Joined: 14th Oct 2006
Location:
Posted: 20th May 2007 00:17
mine would be...


JOIN NOW!Or be square!
Zerk
17
Years of Service
User Offline
Joined: 13th May 2006
Location: Orbiting Jupiter
Posted: 20th May 2007 02:19
Mine



I am putting myself to the fullest possible use, which is all I think that any conscious entity can ever hope to do. ~Hal-9000
Three Score
19
Years of Service
User Offline
Joined: 18th Jun 2004
Location: behind you
Posted: 20th May 2007 05:12
and it's error report would be


eyea know this is a joke, but anyway...

Open86 --My Emulator (now with it's first super alpha release
I'm addicted to placebo's...I would quit but it wouldn't mean anything! lol
Arkheii
20
Years of Service
User Offline
Joined: 15th Jun 2003
Location: QC, Philippines
Posted: 20th May 2007 06:48 Edited at: 20th May 2007 06:51
Quote: "That creates a division between interface and implementation, which is extremely useful"


Don't assume that people don't already know that. I've written header files for assembly code for chrissakes and that's the only time I felt headers were really of any use. C is the compiler's own language, I still think the compiler should have been doing the job of sorting out the symbols for you.

So what purpose is left outside of symbol definition? Documentation?

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 20th May 2007 07:27 Edited at: 20th May 2007 07:28
DB user 2006+,

Quote: " Thinking about this from the users perspective? You mean like how I just made a thread and asked what the user would want in a scripting language? Or even in their dream language? I fail to see how that isn't looking for what the user would want."


The question and your intent don't make any sense. You want to build a commercial plug for DBpro, then this alone gives you a pretty good indication to what most potential customers are looking for already. It's obvious, Basic. The further you step away from this, the more you alienate potential customers. The more education required, the lower the sales volume.


Quote: " I don't want to do what Lee Bamber did with his language."


You're in the wrong place then.


Quote: " I want to ask what kind of language you would use for your games. I take your vote is a "BASIC" but what would your dream language be?"


Am I potential costumer/user ? - No. Are the people posting in this thread potential customers/users ? I highly doubt it. While some the feedback might be interesting, it's mostly amusing. Your asking the wrong questions to the wrong people. (ie. Narrow the field down)


Quote: " (You created PlayBASIC, didn't you?) "


And a few others.

David R
20
Years of Service
User Offline
Joined: 9th Sep 2003
Location: 3.14
Posted: 20th May 2007 18:29
Quote: "So what purpose is left outside of symbol definition? Documentation?
"


Because maybe the compiler isn't as intelligent as the programmer...? Leaving the compiler to do the job is fine up until the point where you have any kind of ambiguity in what it needs to do - in which case it would end up either guessing, or just dying at letting you do the job.

So either conclusion = D.I.Y headers. I'd rather make headers and sort out export symbols etc. myself, rather than have the compiler do a dodgy job of it.

Also, in regards to C# etc., the method of importing namespaces and libraries is just glorified inclusion. All it's doing is the work at link time instead of compile time like C and C++ do. Either way, the compiler+linker still have to do extra work to get the stuff into your application, so I don't quite understand your massive grudge against inclusion :/


09-f9-11-02-9d-74-e3-5b-d8-41-56-c5-63-56-88-c0
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 20th May 2007 23:10
So many responses. I will just respond to the ones directly pointed to me. Well, the one anyways.

@Kevin Picone
After reading my post back to you, it sounded quite a bit rude, and I did not intend for it to be that rude, I apologize.

Quote: "The question and your intent don't make any sense. You want to build a commercial plug for DBpro, then this alone gives you a pretty good indication to what most potential customers are looking for already. It's obvious, Basic. The further you step away from this, the more you alienate potential customers. The more education required, the lower the sales volume."

I can't say anything to change your mind, it is set at that. If a customer wants BASIC then the customer gets BASIC... Quite honestly though, I don't care about how much of this gets sold, I care about how many people like what they get. I dont want to sell crap, I want to sell quality. And so, a quality scripting language is what I aim for. But, I need people's oppinions on the scripting language before I can tell if it's quality or not.

Quote: "You're in the wrong place then."

Not what I meant.... I mean, Lee Bamber doesn't listen much too suggestions for his language, I want to, and will listen to suggestions for my scripting language. And if my scripting language brings something DBP doesn't, such as arrays in types (hopefully), then people would probably begin using it more because of that feature. Unfortunately, "staying true to basic" doesn't mean don't allow arrays in types. I really wish Bamber would fix this because I really need this most of the time. I have nothing against Lee, or DBP, just suggestions and criticisms to help the language.

Quote: "Am I potential costumer/user ? - No. Are the people posting in this thread potential customers/users ? I highly doubt it. While some the feedback might be interesting, it's mostly amusing. Your asking the wrong questions to the wrong people. (ie. Narrow the field down)"

I am sorry you are not a potential customer, or user of the product. That's your choice. If I'm not asking customers then at least I'm asking people with oppinions. Unfortunately not many of them have actually posted in context with what I hope. The plugin is only $20 USD and I am adding features to it like crazy. If newcomers buy it, they would have a feeling of convenience, which draws them to do other things that matter more in a game instead of coding routines. The fact that this is in C++ makes the plugin quicker than DBP, and has been tested for the most-part.

Quote: "And a few others."

Awsome. Care to list them her? ^_^


Cheers,

-db

tha_rami
18
Years of Service
User Offline
Joined: 25th Mar 2006
Location: Netherlands
Posted: 26th Jul 2007 05:53
Although I can't help out (my syntax would resemble DBC), I must say I think you're doing the right thing by asking. But maybe, you should try and just make it as BASIC as possible until customers start telling you something could be better. Feedbackware works perfectly.

Snowwolf
17
Years of Service
User Offline
Joined: 13th Feb 2007
Location: Las Pampas
Posted: 26th Jul 2007 09:51
My dream language?

If I can write a game like a story and it works...



GatorHex
19
Years of Service
User Offline
Joined: 5th Apr 2005
Location: Gunchester, UK
Posted: 26th Jul 2007 10:36 Edited at: 26th Jul 2007 10:57
Dark Basic Pro (DirectX without hassel) and Delphi (OOP without hassel) are my dream languages.

I just wish they would run anywhere like Java then I'd be sorted for life

I think C syntax is pretty awful

Quote: "My dream language would be like a more controlled version of C++
"

Thats Java, it takes some getting used to not having to destroy your objects after your finished with them

If TCG make a Java 3D based Basic language with similar syntax to DBP I'd buy it Imagine making games that could be run on Linux,Mac,PC and Phones!

DinoHunter (still no nVidia compo voucher!), CPU/GPU Benchmark, DarkFish Encryption DLL, War MMOG (WIP), 3D Model Viewer
zapakitul
17
Years of Service
User Offline
Joined: 1st Mar 2007
Location: In my world
Posted: 26th Jul 2007 19:32 Edited at: 26th Jul 2007 19:33
O.o just saw the topic! Nice ideea! Well come to think of it i would chose something like darkbasic, cause of its simple sintax rather then C# that can be confuzing...


Am so that would be only a part of it.... BTW to make your own scripting do you need to know asm? ! And can you make one in darkbasic?

===========================================================
SInce u tiped it it got personal, zapa was here
PowerSoft
19
Years of Service
User Offline
Joined: 10th Oct 2004
Location: United Kingdom
Posted: 26th Jul 2007 21:40
No, you don't need to know ASM

The Innuendo's, 4 Piece Indie Rock Band
http://theinnuendos.tk:::http://myspace.com/theinnuendosrock
MikeS
Retired Moderator
21
Years of Service
User Offline
Joined: 2nd Dec 2002
Location: United States
Posted: 27th Jul 2007 00:46
I'm very close to creating a subset of the C++ language. I might change it around a little bit to kind of merge with some pascal and basic concepts. Unless I can think of something new, I think the best thing to do for a procedural dream language, is just to steal a little bit from all the languages you've used and liked.



A book? I hate book. Book is stupid.
(Formerly Yellow)
Mr X
18
Years of Service
User Offline
Joined: 25th Sep 2005
Location: Universe, milkyway, sol-system, Earth...
Posted: 27th Jul 2007 00:51 Edited at: 27th Jul 2007 01:00
My very own programming language? Maybe something like this... C# + Dark Basic...



It should be very dynamic. You can either decide to use the inbuild 3d engine, or create an own one or import another one. Would also have OO. And you should be able to go low-level if you want. The code above should create an rotating cube example, where the cube also is moveing, and when it comes too far away from the camera, the "game" end.

EDIT:

My dream language should also not be just made for game development. It should be possible to do everything with it. Like programming an robot or something like that. Or make an programming language. Half Life 2, MSN , photoshop, deamon tools, the .net framework... should be able to do anything with it.
zapakitul
17
Years of Service
User Offline
Joined: 1st Mar 2007
Location: In my world
Posted: 27th Jul 2007 16:49
@Powersoft: Thing is that i always dreamed of making one.. Problem is from passing from dreaming to the real world! SO can one be made only in darkbasic pro?

===========================================================
SInce u tiped it it got personal, zapa was here
Zotoaster
19
Years of Service
User Offline
Joined: 20th Dec 2004
Location: Scotland
Posted: 27th Jul 2007 17:06
I guess it could, but it would not be easy, and it would be very slow. Take some time to learn C++, it's not that hard, and once you can use it, it is much easier to use to make a programming language (well, it was for me, heh)

"It's like floating a boat on a liquid that I don't know, but I'm quite happy to drink it if I'm thirsty enough" - Me being a good programmer but sucking at computers
Commander in Chief
18
Years of Service
User Offline
Joined: 15th Apr 2006
Location: Carbondale, PA, USA
Posted: 29th Jul 2007 19:41
Mine is pretty much based off of TorqueScript and BASIC. I actually did start making it, it's for a game maker I'm working on in DBP. It's really just the way that the game maker will handle scripts.



Everything in there, is already done. All of those declarations are finished and hard-coded into the engine already. I have a script parser to read those things from a .ini file, or any other type of file. I might even encrypt the scripts I don't want users to see, etc.

Nice thread, by the way.

~Chief

Hardware: nVidia GeForce 8500GT 256mb, 240gb HD Space, Pentium 4 CPU 2.80GHz, 512mb RAM, Realtek HD Audio
Software: 3Ds Max 9, Adobe Photoshop CS8
Marine10 beta corp
17
Years of Service
User Offline
Joined: 14th Jan 2007
Location: First Man Studios
Posted: 30th Jul 2007 03:49
LOL




YAY

FIRST MAN STUDIOS
Zeus
17
Years of Service
User Offline
Joined: 8th Jul 2006
Location: Atop Mount Olympus
Posted: 30th Jul 2007 04:19
Mine would be called PAGE. A web developing language. Example:



(_enr_) would be a <br> tag basically. The rest you can probably guess.

Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 30th Jul 2007 10:53
@JSG
I like the idea of another web developing language... My web development language would probably look like this:


Anything with a tag (For example: Locate x=3, y=30) has the tag because it is an optional parameter. In the case of Locate, these parameters are optional because them being there tells Locate to return the current position.

The rest is rather obvious.


Cheers,

-naota

Login to post a reply

Server time is: 2024-05-04 04:50:55
Your offset time is: 2024-05-04 04:50:55