flat assembler
Message board for the users of flat assembler.

Index > Heap > Dynamic Programming Language - Parser Friendly

Goto page Previous  1, 2
Author
Thread Post new topic Reply to topic
nyrtzi



Joined: 08 Jul 2006
Posts: 192
Location: Off the scale in the third direction
nyrtzi
sleepsleep wrote:

how about a programming language that is so dynamic that gonna suit everybody style?


sleepsleep wrote:

in another words, it means, let users, programmers themselves define how a language suppose to work, what we need to do is just setting up the base, and after that, let users invent their own rules.


And if you need more than one person working on a piece of code? "Language-oriented programming" or whatever they are calling it now can lead into maintenance nightmares if not used carefully.

I've used Common Lisp a lot and the macros are very nice as they allow defining one's own style but. There is always a but. The new language that one creates is another layer other people must learn if they are to work on your code. In other words I've begun to think that one man languages need to be very quick and easy to learn. Thats why the language I wrote as my thesis also stressed simplicity as it's main goal. If its not easy to learn and master then you probably won't be able to use it any commercial or bigger project. Unless of course it becomes so popular that companies will have good access to programmers who can write and maintain code written with the language.

sleepsleep wrote:

what i recommend is a macro base solution (after i saw uart777 submitted examples)


I've used macros and dynamic languages for years and now I've somehow come to the conclusion that the next language I need must have proper and strict static typing (and no, I'm obviously not referring to anything like C++ or Java). I'm starting to tilt in the direction of what Backus said i.e. that a programming language should have useful mathematical properties that would enable coders to really trust their code.

But as far as parsers and syntax goes RPN (in FORTH style) is the easiest thing to parse. If you simplify it even a CSV parser might do the trick. Then again it doesn't provide much structure if you need it unless you implement some kind of layer on top of it yourself. LISP kind of syntax is nice but it doesn't allow for overlapping structures in your code that easily.

All in all I'd say that whatever you do keep it simple and give the programmers tools so that they won't feel that they no longer can understand their codebase or keep it fully under control once it grows big enough. They need to be able to write and document modules that abstract away the details they aren't going to remember how to deal with in the long run.
Post 24 Mar 2013, 09:42
View user's profile Send private message Reply with quote
sleepsleep



Joined: 05 Oct 2006
Posts: 8998
Location: ˛                             ⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣Posts: 334455
sleepsleep
sorry i got to bring this back,
i got such thoughts recently,

what is we got a program to manage integer,
another program to manage string
another program to manage float,
another program to manage connector or manager ( to manage a group of above variables )
another program to manage combined connectors.

then another program to manage solely logic only,

maybe it sounds like database, idk,
but isn't it all program needs to do what a database program does?

would such approach result more efficient processes?
Post 27 Nov 2013, 15:46
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17450
Location: In your JS exploiting you and your system
revolution
The individual process might well be more efficient, but you are introducing quite a substantial overhead with interprocess management and communication. Overall the efficiency would be lousy.
Post 27 Nov 2013, 16:49
View user's profile Send private message Visit poster's website Reply with quote
sleepsleep



Joined: 05 Oct 2006
Posts: 8998
Location: ˛                             ⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣Posts: 334455
sleepsleep
i guess yes, inter process, like how processor needs a bridge to motherboard to memory to graphic processor to i/o.

so, they might try to build a microprocessor that got everything inside,

or should we model how nature designed?

atom = 1 or 0 ?
i guess i asked this question sometime ago, is 0 and 1 the ultimate data form? even 10 or 100 or 1 millions year in future, it is still back to 1 or 0?

what is not 0 and not 1? double / binary seems like a powerful concept.
but how to use not 0 and not 1, like not male, nor female, .

if inter process equal overhead, then how we could achieve efficiency?
unless the data is process along the way to a destination?

a cable graphic card?
a cable micro-processor?
but how this would get represented in coding?

idk..
Post 27 Nov 2013, 17:21
View user's profile Send private message Reply with quote
dogman



Joined: 18 Jul 2013
Posts: 114
dogman
TmX wrote:
Somehow this reminds me of... Lisp. It's said that Lisp is "the programmable programming language" Idea


I think that's just because it was so primitive that to be extensible they had to implement it in a way where adding new functions was simple and then those functions are treated as part of the language. Sorrtof. In truth I think the quote is overblown since there are any number of languages that allow people to build on features that are not distinct in any significant way from the base language. Lisp has macros, which helps a lot and was revolutionary in HLL for about 3 years until PL/I came along. I'm not saying Lisp is bad, I'm just saying you can probably call a few languages a programmable programming language with a fair degree of accuracy.

_________________
Sources? Ahahaha! We don't need no stinkin' sources!
Post 27 Nov 2013, 17:42
View user's profile Send private message Reply with quote
typedef



Joined: 25 Jul 2010
Posts: 2913
Location: 0x77760000
typedef
Interesting idea. But let's remind each other that talk is cheap and the current widely accepted/used programming languages/scripts are C/C++, .NET, JAVA, PHP, Perl, Python etc. Assembly will get you as far as embedded development and reverse engineering.

All other user/hobby dialects are a waste of time if your answer is yes to the following.

You wanna get a job in today's industry? *hint* *hint*

Twisted Evil Twisted Evil Twisted Evil
Post 28 Nov 2013, 02:16
View user's profile Send private message Reply with quote
nyrtzi



Joined: 08 Jul 2006
Posts: 192
Location: Off the scale in the third direction
nyrtzi
typedef wrote:

All other user/hobby dialects are a waste of time if your answer is yes to the following.

You wanna get a job in today's industry? *hint* *hint*

Twisted Evil Twisted Evil Twisted Evil


Another question is if you'd like to hire someone who isn't capable of wrapping his/her head around Lisp macros or some other stuff that is in the end not that complicated. And you can also tell something about a person if he/she has bothered to learn non-mainstream languages as well.

Someone is a C++ expert? That's nice. But if all that person knows is C++ and his/her whole programming world revolves around a single language and a platform I'd feel a bit uncomfortable with his/her grasp of the bigger picture. With people like this there is often some fear of the law of the instrument being too much in effect.

But as far as the original topic goes I'm still looking for a small, clean and simple Lisp with strong typing and also support for static such. Compiling to native code and being easily usable with system libraries would be a plus as well. Macros would be good too but I'd rather not get them in a way which compromises compile time or runtime type safety. I know that ML folks are working on safe macros but I'm not sure how usable and well-tested their approaches are yet and how easily they could be applied to the kind of language I'm talking about.
Post 28 Nov 2013, 11:21
View user's profile Send private message Reply with quote
dogman



Joined: 18 Jul 2013
Posts: 114
dogman
I agree with both of you guys. typedef is right, assembly coding is a niche. Believe me I know. nyrtzi you are right in theory but 99.9999999% of people being paid to code today are idiots. And that's all they need to be. It's not about hiring good programmers, it's about hiring "programmers" that are "good enough" to use the crappy tools and languages and so-called OS to do what the employer thinks they want.

The days when qualified people made technical decisions at the corp. IT level are long gone. Thank you, Harvard MBA program.
Post 28 Nov 2013, 15:31
View user's profile Send private message Reply with quote
nyrtzi



Joined: 08 Jul 2006
Posts: 192
Location: Off the scale in the third direction
nyrtzi
dogman wrote:
Believe me I know. nyrtzi you are right in theory but 99.9999999% of people being paid to code today are idiots. And that's all they need to be. It's not about hiring good programmers, it's about hiring "programmers" that are "good enough" to use the crappy tools and languages and so-called OS to do what the employer thinks they want.


Yep, the situation being something like this http://bytetab.blogspot.fi/2012/09/what-customer-really-wanted.html
Post 29 Nov 2013, 07:19
View user's profile Send private message Reply with quote
nerdguy



Joined: 24 Nov 2013
Posts: 7
nerdguy
Code:
if we got a C# -> Fasm source -> machine code    

Good News! sleepsleep!
It's already done!
Checkout IL2CPU, It's a compiler that translates C# IL Code to x86 NASM Machine Code,
Don't think there is much difference between NASM and FASM, It's easy port NASM Code to FASM.
Well IL2CPU stands for (IL (Intermediate Language) to CPU (x86 Machine Code))
See : cosmos.codeplex.com
Post 06 Dec 2013, 09:54
View user's profile Send private message Reply with quote
sleepsleep



Joined: 05 Oct 2006
Posts: 8998
Location: ˛                             ⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣Posts: 334455
sleepsleep
nerdguy wrote:
Code:
if we got a C# -> Fasm source -> machine code    

Good News! sleepsleep!
It's already done!
Checkout IL2CPU, It's a compiler that translates C# IL Code to x86 NASM Machine Code,
Don't think there is much difference between NASM and FASM, It's easy port NASM Code to FASM.
Well IL2CPU stands for (IL (Intermediate Language) to CPU (x86 Machine Code))
See : cosmos.codeplex.com


cool, this is future probably, let me check on it after reaching home.
Post 06 Dec 2013, 12:21
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on YouTube, Twitter.

Website powered by rwasa.