From: Evenbit on
For the last few days, I've been pondering the simularities between
different languages and some of the things I like and dislike about
these languages.
Basically, my thoughts circle around this question:

How would you go about designing an Ideal computer language from
scratch?

Since this is an assembly NG, I guess this translates to:

How would you go about designing an Ideal assembly language (or
perhaps, an Ideal high level assembler) from scratch?

What are the most important elements to have in a language?

What are some of the most troubling aspects of existing languages?
Would your design center (at least partially) on avoiding these trouble
spots?

Would the design favour programmer productivity or processing
efficiency?

Of course, the list goes on... And, as one answers these questions,
they invent their very own language.

Nathan.

From: Chewy509 on

Evenbit wrote:

Hi Nathan,

> For the last few days, I've been pondering the simularities between
> different languages and some of the things I like and dislike about
> these languages.
> Basically, my thoughts circle around this question:
>
> How would you go about designing an Ideal computer language from
> scratch?

I would think about the things I like and dislike in other languages I
know and have worked with... Personally for me, that's about 6x
flavours of BASIC, C, Assembly (x86, AMD64, 6502/6510, and some 68K),
Pascal (mainly Borland) and some PHP/Perl as well as windows scripting
(vbscript).

> Since this is an assembly NG, I guess this translates to:
>
> How would you go about designing an Ideal assembly language (or
> perhaps, an Ideal high level assembler) from scratch?

http://chewy509.atspace.com/b0.html

> What are the most important elements to have in a language?

Being most a low-level hobbyist, then solid control over the machine
state is desirable. As well as support for most common programming
methodologies (procedural, OOP, support for object files, linking with
objects files created using another langauge/compiler). Support tools
would also be a factor high on the list, eg integration into my
perfered OS, IDE, toolchain, etc.

> What are some of the most troubling aspects of existing languages?
> Would your design center (at least partially) on avoiding these trouble
> spots?

The level of abstraction between the language and the machine, and by
creating a machine dependant language, would resolve that issue.

> Would the design favour programmer productivity or processing
> efficiency?

Since when they these two concepts been mutually exclusive? b0, since
is machine dependant (AMD64 in it's case), provides the programmer the
ability to focus on performance, while using a language that is easy to
grasp... (well I think so at least)

> Of course, the list goes on... And, as one answers these questions,
> they invent their very own language.

Again see: http://chewy509.atspace.com/b0.html

--
Darran (aka Chewy509) brought to you by Google Groups!

From: sevagK on
Evenbit wrote:
> For the last few days, I've been pondering the simularities between
> different languages and some of the things I like and dislike about
> these languages.
> Basically, my thoughts circle around this question:
>
> How would you go about designing an Ideal computer language from
> scratch?

I think I would go with something like a compiled form of Java without
as much emphasis on OOP. Keep it clean and enforce a strict
programming discipline.

> Since this is an assembly NG, I guess this translates to:

> How would you go about designing an Ideal assembly language (or
> perhaps, an Ideal high level assembler) from scratch?

There is no such thing! There are as many ideal assembly language
designs as there are assembly programmers. Assemblers are fun to work
with and my chosen tools for my hobby, but IMO, an "ideal" assembler
has to either target a low-level dicipline (eg: GoAsm) or a high-level
dicipline (eg: HLA).

> What are the most important elements to have in a language?

-Consistency. There should not be syntactical changes at unexpected
places or lax rules on expressions and conventions.
-Type checking. at 100% user control, overridable. Eg: have native
"sized" types that accept any types of specific size, or have specific
types (native or user defined).
-Readability. Here is where HL control structures shine. Everything
should be neatly stacked so that the beginning and end of a "section"
of code are easy to find, along with all places that code can fall
through.

> What are some of the most troubling aspects of existing languages?
> Would your design center (at least partially) on avoiding these trouble
> spots?

I suppose it would, though I'm not much of a language designer. My
experiences lies in a couple of scripting engines: a simple "make"
script processor and the Arayna IF game engine.
For me, languages that are not strong on the "most important elements"
or one's that don't target a specific programming discipline fall off
the bottom of my list real quick.


> Would the design favour programmer productivity or processing
> efficiency?

It would favour a compromise.

> Of course, the list goes on... And, as one answers these questions,
> they invent their very own language.
>
> Nathan.

Our very own fictional language :)

-sevag.k -=Kain=-
www.geocities.com/kahlinor

From: ?a/b on
On 17 Feb 2006 -0800, "Evenbit" <nbaker2328(a)charter.net> wrote:
>For the last few days, I've been pondering the simularities between
>different languages and some of the things I like and dislike about
>these languages.
>Basically, my thoughts circle around this question:
>
>How would you go about designing an Ideal computer language from
>scratch?
>
>Since this is an assembly NG, I guess this translates to:
>
>How would you go about designing an Ideal assembly language (or
>perhaps, an Ideal high level assembler) from scratch?

i should think on
the number of registers (?), the size of registers (32 bits), the
operations among registers, how to operate on 16bits data and
on 8bits data and how operate on arrays; how represent real numbers.

then i should implement "#" as symbol for jumps and to build the
language like that i have now

>What are the most important elements to have in a language?

it is "the easily to read" the power for make "to see"
programming is "to see" it is not hide

the assembly language is good because it is easy and
if there is an error it is show soon

>What are some of the most troubling aspects of existing languages?

the difficult for catch errors

>Would your design center (at least partially) on avoiding these trouble
>spots?

use assembly or implement all the memory of a program in "the heap"
and then run a routine for check if there is some of out of bound
write in the heap memory

>Would the design favour programmer productivity or processing
>efficiency?

i don't know

>Of course, the list goes on... And, as one answers these questions,
>they invent their very own language.

C language is where many people start for build languages

>Nathan.
From: JGCASEY on

Evenbit wrote:

...

> What are the most important elements to have in a language?

Enough people using it.


> What are some of the most troubling aspects of existing languages?

Too many of them.

...

> Of course, the list goes on... And, as one answers these questions,
> they invent their very own language.


Yes, they create their very own language to add to the ever growing
Tower of Babel of computer languages. We have enough languages
already.


The most unimaginative thing you can do once you learn a computer
language is to write yet another one to add to the confusion.

IMHO :-)

--
JC