Allegro.cc - Online Community

Allegro.cc Forums » Off-Topic Ordeals » My new programming language.

This thread is locked; no one can reply to it. rss feed Print
My new programming language.
bamccaig
Member #7,536
July 2006
avatar

^ This.

BAF said:

Most open source is very selfish in nature, generally the projects are created for personal interest.

The work done is usually out of self interest, but usually released to the public with the permission to distribute and modify the work freely.

Compare that to closed source/proprietary vendors...

BAF
Member #2,981
December 2002
avatar

That doesn't change the fact that the open source item was created out of self interest, thereby falling into one of the two categories laid out by Matthew.

Arthur Kalliokoski
Second in Command
February 2005
avatar

There's such a thing as stupid short-sighted interest, like a farmer selling his seed corn to buy some corn likker. Funny how that reminds me of Washington politics the last few years.

“Throughout history, poverty is the normal condition of man. Advances which permit this norm to be exceeded — here and there, now and then — are the work of an extremely small minority, frequently despised, often condemned, and almost always opposed by all right-thinking people. Whenever this tiny minority is kept from creating, or (as sometimes happens) is driven out of a society, the people then slip back into abject poverty. This is known as "bad luck.”

― Robert A. Heinlein

Matthew Leverton
Supreme Loser
January 1999
avatar

c) You're a glory hound. (Open Source people?)

That's precisely the category I left out on purpose!

If you are in something for the glory, you are only going to end up utterly disappointed that only your friends (if you have any) and your mom pretended to have any interest in the thing you worked on for the last six months.

verthex
Member #11,340
September 2009
avatar

That's precisely the category I left out on purpose!

If you are in something for the glory, you are only going to end up utterly disappointed that only your friends (if you have any) and your mom pretended to have any interest in the thing you worked on for the last six months.

Only if the open source project is small scale, not something like Linux, which by itself is a glory hound for open source computing. Yay!

axilmar
Member #1,204
April 2001

That's a bit arrogant.

Arrogant in what way? that the tools they use can be improved? Do you think that they cannot be improved, and thus me saying so is arrogant?

Quote:

I didn't bother to read this thread until today.

Yeah, I know, that's why I said interest is limited.

Quote:

Programming languages are a dime a dozen. Programmers know this. What's to set your toy project apart from the crowd?

If you bothered to read the introduction, you would have known. Anyway:

1) better orthogonality; for example, no separation classes and primitives.
2) a native language with a context free grammar.
3) functions as first class values.
4) pure functions.
5) solve various C++ problems (headers, forward references etc).
6) reuse of existing tools (compilers and linkers).
7) safety first, performance second. The defaults would be safe, but the programmer could override them in order to increase performance.

Quote:

Oh, another imperative programming language. Without an implementation. Next.

Personally, and I have to emphasize this, I don't think that the future lies with purely functional programming languages. I've studied pure functional programming a lot and my conclusion is that they just don't scale well in complexity from a programmer's perspective. For example, in Haskell, in order to implement a GUI application that handles a tree, one must multiplex the reactive model and the zipper data structure. This is not a task that can easily be handled by the average Joe programmer. There is some benefit to pure functional programming though, so in my language I have pure functions.

Secondly, if you have bothered to read anything, you would have seen that I do not have any mysterious and exotic features in this language. So, the 'no implementation' part isn't very bad.

I have completed the grammar though, for all the futures I planned to include. And this is an important step. It shows I have a complete idea about what I want to implement, and that the project is not a moving target.

...

It's interesting that this thread is alive, and that the latest bunch of comments is not about the programming language itself, but about motivation. It just reinforces my opinion that the interest is low.

Arthur Kalliokoski
Second in Command
February 2005
avatar

axilmar said:

Yeah, I know, that's why I said interest is limited.

Every few months, I tell myself I'm going to learn a new (to me) language. I'll play with Perl or Python for an hour or two, and then put off further progress indefinitely. I was taught COBOL and RPG in school, with BASIC self taught and I can't program in those anymore either. To make my point, a new language would have to have a working "Make Game" button for me to actually use it.

“Throughout history, poverty is the normal condition of man. Advances which permit this norm to be exceeded — here and there, now and then — are the work of an extremely small minority, frequently despised, often condemned, and almost always opposed by all right-thinking people. Whenever this tiny minority is kept from creating, or (as sometimes happens) is driven out of a society, the people then slip back into abject poverty. This is known as "bad luck.”

― Robert A. Heinlein

Evert
Member #794
November 2000
avatar

axilmar said:

Arrogant in what way? that the tools they use can be improved? Do you think that they cannot be improved, and thus me saying so is arrogant?

No, it is arrogant to assume that every programmer here will be intensely interested in your attempt to cure the (perceived) bad points in current C-like programming languages.
Even if everyone agrees on what those are and how they should be solved (and that's a big if), then it still doesn't follow that you're the one to correct them.

Quote:

4) pure functions.

How is that a language feature? You can write those in pretty much any language I can think of.

Quote:

7) safety first, performance second.

Well, there goes my interest.

In my spare time, I use C for hobby projects. Maybe C++, maybe some Perl. I don't quite feel like spending loads of my spare time to learn another language with no obvious support or benefit. Let alone one that doesn't actually exist yet.
For work, I use a combination of Perl and FORTRAN for the bits that have to be fast. Now, I hate FORTRAN (although admittedly FORTRAN 90 ad up isn't that bad) and I'd much prefer to use C instead (actually I'd prefer to use Perl for everything, but let's not go there). Unfortunately all legacy code that I work with is written in FORTRAN (and sometimes obscure old dialects of FORTRAN).
Would I be interested in someone solving all the problems I have with FORTRAN? Yes, probably. That's no small task, however, and until it's done I can't exactly sit around and do nothing. So if someone starts that up I might keep an eye on the project and then in ten years or so, when it's done, mature and stable I might give it a shot. If I'm still interested by that time.

Ok, so you were targeting C and C++ instead of FORTRAN. You're still up against the same type of inertia. You simply cannot expect people to abandon what they have and know for something new that you're designing when it's not even done yet. Especially if there's the risk that it's never going to be done.

Look at it this way: some guy on the internet is going to make a new cool programming language. Do I invest my time and energy into it, or do I sit on the fence and wait? If I invest my time and energy and said guy loses interest and pulls the plug, then I've just wasted my own time. On the other hand, if I wait and see I can step in later and not have wasted my time. So I wait and see.

Tobias Dammers
Member #2,604
August 2002
avatar

axilmar said:

1) better orthogonality; for example, no separation classes and primitives.

Personally, I like classes and primitives to be different things. Other than that, the way C# approaches "value types", and has everything implicitly derive from class Object, is pretty close (practically the same for most purposes): There's reference types and value types, and of each kind, there are a few built-in types.

Quote:

2) a native language with a context free grammar.

There's tons of them, and what does "native" mean? That it compiles into platform-specific machine code?

Quote:

3) functions as first class values.

C# has that.

Quote:

4) pure functions.

Every programming language I can think of that has a concept of functions, allows you to create pure functions. Being able to declare functions as pure, and asserting the pureness of a function at compile time might be a nice feature in some situations though.

Quote:

5) solve various C++ problems (headers, forward references etc).

Solved in C#, D, Java, and about every other major language invented after C++.

Quote:

6) reuse of existing tools (compilers and linkers).

You can't really reuse a compiler for a different programming language. The best you might get is a plug-in for an existing compiler (e.g. a gcc module), or a compiler that outputs bytecodes (or "Intermediate Language" code in MS lingo) for further compilation.
There's an excellent toolchain for C#. Using p/invoke and/or COM interop, you can also reuse pretty much every DLL written for the target platform.

Quote:

7) safety first, performance second. The defaults would be safe, but the programmer could override them in order to increase performance.

C# has this. By default, everything is garbage-collected, and you don't mess with pointers, but if you feel you need to, you can. Java also favours safety over performance, but the programmer's option for overriding this are limited.

So, all in all, I don't see too many exciting new features that would make me go "Oh yes, that's the language I've been waiting for".

---
Me make music: Triofobie
---
"We need Tobias and his awesome trombone, too." - Johan Halmén

verthex
Member #11,340
September 2009
avatar

Well axilmar, I personally have never used C for anything beyond i/o and even on that level c++ has a library that makes life easier. So as far as redeveloping C, its 2010 guy, and C was 1960 or something like that. Why not work on remaking Java, which has never gone mainstream beyond university made applets that are boring as hell to to use, mainly because any functionality on the scale of a c++ program would cause java to crash most machines today. But even then C++ will dominate on any scale because of efficiency.

Dustin Dettmer
Member #3,935
October 2003
avatar

It sounds pretty interesting. I'd like to learn more but I can't afford the time to do so. Some examples that demonstrate better qualities of the language would be nice to see.

You're probably falling victim to the "too-good-to-be-cool" effect. If you had said hey check out this language I just started and provided some crude sytnax, people would be pretty into it. Now that you've reached a higher level of quality people start holding you to the higher standard of C++ etc.

It's like seeing a 3D rendered face that is almost perfect. If you saw pictures like this like I have you would be disturbed to the core. They make you want to puke and slip into a vortex or black hole. It's like running away isn't enough, you need to actually leave this dimension -- probably the creepiest feeling I've ever had.

Vanneto
Member #8,643
May 2007

verthex said:

Why not work on remaking Java, which has never gone mainstream beyond university made applets that are boring as hell to to use, mainly because any functionality on the scale of a c++ program would cause java to crash most machines today.

Oh dear sunny Jesus!

I almost busted a gut laughing so hard! ;D

Java being supported on all modern cellphones? Not mainstream.
Java being the standard for creating business applications? Not mainstream.
Java being used by NASA? Not scalable.

Thanks, you made my day. ;D

In capitalist America bank robs you.

verthex
Member #11,340
September 2009
avatar

Vanneto said:

Java being supported on all modern cellphones? Not mainstream.
Java being the standard for creating business applications? Not mainstream.
Java being used by NASA [www.sun.com]? Not scalable.

Java being supported on all modern cellphones? Not most, or at least not majority
Java being the standard for creating business applications? Yeah and oracle sucks because of it, I've made those.

Java being used by NASA [www.sun.com]? Nothing for spaceflight or anything in air, they still use C because Java crashes. Trust me I've talked to someone once who works with NASA, he said its a risk factor.

Vanneto
Member #8,643
May 2007

The fact is, Java has gone mainstream. Its the most popular language on the planet. [1]

In capitalist America bank robs you.

verthex
Member #11,340
September 2009
avatar

Quote:

Observe that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.

So I wonder what their definition of mainstream is?

Vanneto
Member #8,643
May 2007

I'm done talking with you. I still cant believe you are arguing Java is not mainstream. It just baffles the mind!

In capitalist America bank robs you.

verthex
Member #11,340
September 2009
avatar

Vanneto said:

I'm done talking with you. I still cant believe you are arguing Java is not mainstream. It just baffles the mind!

Its mainstream, with all the notions of crap! Anything written with Java has shit coming off of it!

BAF
Member #2,981
December 2002
avatar

I may not like Java, but I wouldn't go so far as to say it crashes a lot. It shouldn't crash unless the code is screwed up.

verthex
Member #11,340
September 2009
avatar

BAF said:

I may not like Java, but I wouldn't go so far as to say it crashes a lot. It shouldn't crash unless the code is screwed up.

Its not that Java crashes but a system with low memory and a 5 year old CPU tends to freeze up and may crash in case someone does not expect Java to load while using 50% load already. I'm not happy going to a site and out of nowhere Java starts running and I have several other things going on and then the whole system is unresponsive for like 5 minutes, sometimes longer.

bamccaig
Member #7,536
July 2006
avatar

NoScript prevents scripts, plugins, and applets from being executed until you explicitly say to unblock them each. It's a pain in today's Web because most of the major sites you visit link to 20 different third parties and you don't know which scripts are required to make the Web site you're actually using work, but it's still super nice being in control of when those scripts are enabled (if ever; I'll often just leave). It's also alarming just how many third party servers you're contacting on a regular basis without NoScript.

BAF
Member #2,981
December 2002
avatar

Except in the case of NASA, it would be a dedicated system only meant for running the single program that was written. All your concerns are moved to design time when doing embedded development.

[edit]
Damnit, bam bam, stop posting at the same time I do. :P

verthex
Member #11,340
September 2009
avatar

bamccaig said:

NoScript prevents scripts, plugins, and applets from being executed until you explicitly say to unblock them each.

Sometimes if you right click on an ad you can chose to forbid or allow it because it will be on the top of the lost, or it will be the only one not forbidden.

BAF said:

Except in the case of NASA, it would be a dedicated system only meant for running the single program that was written. All your concerns are moved to design time when doing embedded development.

What I heard was that NASA uses C for anything flight related because programmers tend to make more mistakes with Java.

m c
Member #5,337
December 2004
avatar

Java is basically the new COBOL. Everything done in the modern world has probably been touched by both C and Java directly or indirectly, can't really say that about any other HIGH level language, not even C++.

These custom business apps are java most of the time. And the operating system that it runs on is mostly C, probably. Well, microsoft was pushing C# for this since it first came out, and in the context that I am speaking of here, the invention of C# is a recent development (and in the past lots of lower-tier stuff would have been access/vb), and now I do see many job advertisemenst of .NET developers that a few years ago would have been all java, but there would still be a huge body out there, still expanding.

So it went mainstream in the major business software industry long ago (that is the work for a living custom software development), not the pre-packaged consumer industry. Plus a lot of these places didn't run some microsoft box as a server, but probably had some Sun hardware or something. Most insituitions seem to be set up that way.

Note: Those jobs are not ones that I'd like, but I can't deny that they have been big for a long time.

(\ /)_____#_____####__#
(O.o)¯¯¯#¯¯¯¯¯#¯¯¯#¯¯#
(> <)__####__####__####
Megabytes are where I keep my Data.

verthex
Member #11,340
September 2009
avatar

m c said:

major business software industry

Which is Oracles crappy interface using Java for its web based database. I've made a couple and even with 20 fields to enter your name, number, etc, the computer runs terrible. Maybe if Oracle would make their own web browser optimized for Java then I could see something "streamlined".

m c
Member #5,337
December 2004
avatar

Verthex, java in a web browser is an insignificantly tiny fraction of all java out there. That isn't what I was alluding too, but EVEN THEN:

Many custom "web apps" are written in java, that is a java in-browser interface (or web-start or w/e). Things like government online paperless things to try to get away from the cumbersome past of having to get a thousand weird forms and do this and that. Now you can do it all online, pay tax, apply for passport, get welfare support for education blah blah blah. The government hire contractors to make this stuff (probably someone big like IBM). It's all written in Java.

And perhaps that would be USA, France, Australia, Germany, etc etc. Also for applying for jobs, and what about their internal systems?

Most people using java don't know it, because it's all server side. Low-tier online shops use PHP, everything higher uses Java. Although, hopefully with something better than tomcat.

Anyway, I'm not a java fan. I've had too much of it already in university. I'm C all the way, I've even been doing custom ASM for things like from osdev. But these are the things that I know.

(\ /)_____#_____####__#
(O.o)¯¯¯#¯¯¯¯¯#¯¯¯#¯¯#
(> <)__####__####__####
Megabytes are where I keep my Data.



Go to: