What features do you like the most?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Xerroz

What features do you like the most?

Post by Xerroz »

I am wondering what people like the most about any language, the actual language, things like features functionality syntax etc etc. I would really like to hear anything you like about any language, and what would you like to see in a language? features functionality etc etc, i hope to see lots of input, and thank you for taking your time to help me out.
Thanks
mindvnas

RE:What features do you like the most?

Post by mindvnas »

assembly of course, with masm6.1x
reasons:
generates exactly the code you want, use high-level features like if-then-else while-etc, conditional compile, structures, macros, whatever, you name it.
free. (at least to my knowledge). quick :))
or borland's assembler, but its old and doesnt know new opcodes.
i wouldnt recommend assemblers without structures - wonder if netwide asm supports them, havent seen any ...
Khumba

RE:What features do you like the most?

Post by Khumba »

I would really like to see a OS in a functional programming language.  Something LISP-like, with no apparent difference between built-in functions and user-defined/library ones, so it can easily be extended.
TripleFault

RE:What features do you like the most?

Post by TripleFault »

In a language I like to see flexibility and control.  I want to be able to simplify some large functions into just a few commands and, most of all, I must have a lot of control over what the computer is doing.  Even if you have an OOP language it would be nice to be able to insert assembly language hera and there.
Hope This Helps
~ TripleFault !)
ezanahka

RE:What features do you like the most?

Post by ezanahka »

I like Nasm because of it's wysiwyg like nature.
On the other hand I like Lisp because of the simplicity of it's syntax (Lisp macros are of course an exception).

What do I need from a language?  Extensibility/being able to modify the language itself, abstraction/power of expression, simplicity and orthogonality of the syntax which decreases the complexity of expression and last but not least I need the language to be absolutely specific so that everything is defined and documented (so that I can trust the language).

I hope this helps...
carbonBased

RE:What features do you like the most?

Post by carbonBased »

By and far, I think Eiffel is one of the best languages to develop in because of it's design by control, assertions, generocity, and strongly typed (ergo typically less error prone).  I also like it's syntax and structure from an aesthetics point of view... I find C much quicker to type, however, which is important to me.

I'm a fan of operator overloading, as in C++, but the syntax for it could be better.

I think the java run-time environment is one of the best.  dotNet is also good as well, but I much prefer Java's consistancy, and conventions.

Objective-C is an impressive object oriented syntax.  Much better then C++'s approach, in my opinion.  It's simpler (and as such, can't do as much... but it easier to read and debug) and I like it's "interface" and "implementation" ideology.

I don't know how ppl can tote assembly language as "the best."  It's incredibly effective at making small, fast routines... but syntactically, it's more a grocery list then a language... at least on the x86.  m68k assembly's much better, anyway :)  In my opinion a programming language should make things easier and speed up development time through constructs, etc... assembly language is merely a translation table to machine language, in my opinion (at least most are... granted, some assemblers afford extra syntax... in fact, my version of TASM has an object oriented syntax which is rather impressive).

As an example in what _not_ to do... Cobol tried way too hard to be "like english."  As such, it's horrible to program in.  The simplest things take an entire "sentance" to accomplish.  The idea is great (and could, perhaps, be implemented better now - as apposed to 30 years ago) but in practice, cryptic syntax is quicker and easier to write... but of course more difficult to read.  The ideal language picks an excellent compromise between these two extremes.

In my opinion... :)

Cheers,
Jeff
ezanahka

RE:What features do you like the most?

Post by ezanahka »

Your points about assembly are good ones.  However assembly (even on the x86) has it's benefits.  One of them is imho the simplicity and ease of debugging well-written source code which hasn't been messed up by optimizing high level compilers.  I believe that the main virtue and benefit of assembly programming is control over the machine and the code itself.

- Esa
Karig

RE:What [language] features do you like the most? (ColorFort

Post by Karig »

I'm going to throw a curve ball to see what happens. :)

Most OS hobbyists seem to prefer C, and most others seem to prefer Intel assembly language. The language I'm considering for my OS is completely different.

I'm working slowly toward making a hobby (toy) OS based on Chuck Moore's ColorForth (see www.colorforth.com/cf.html for info) -- that is, an OS that has a VERY small kernel containing an extremely simple built-in compiler. The compiler compiles pre-parsed source code into a program whenever you want to run the program; this is simpler than relocating a binary executable file. Of course, ColorForth includes a lot of unconventional ideas, but what attracted me to it was the fact that I'm going to want a compiler to run on my OS anyway, and the compiler in ColorForth is one of the simplest in existence (and thus presumably very easy to write and debug), because the language is almost syntax-free.

If you want something different, check it out. :)
Khumba

Web site?

Post by Khumba »

Do you have a web site for this OS yet? It sounds interesting.
Karig

RE:Web site?

Post by Karig »

No, no website yet. I wanted to finish something you could boot into and explore before I set up a website, and right now all I have done are the boot sector and some screen-printing routines (printing a byte as hexadecimal, dumping contents of memory, etc.). I don't even have keyboard code up yet. In fact, I just started working on this thing in earnest exactly one week ago today, and I have a full-time job. :p

Thanks for the interest though -- I'll keep adding bits of code, and maybe eventually I'll have something worth showing to the world. :)
Karig

RE:Web site? (oops, I meant "Check out colorForth")

Post by Karig »

Oh, and when I said "check it out," I was really referring to colorForth (at http://www.colorforth.com/cf.html), not my own OS. Sorry for the confusion. :)
drug5t0r3

RE:What features do you like the most?

Post by drug5t0r3 »

masm doesnt actually always generate the code you want.
ezanahka

RE:What features do you like the most?

Post by ezanahka »

I'm going to implement my kernel in "forth".

Forth is basically a functional language.
In a very old edition of Forth Dimensions
(published 1982 if I remember correctly)
there is an article about it.

The standard notation for functional
composition is f o g.
In Lisp that is:
(f (g ))
and in Forth:
g f

I'm aiming at a kernel that is smaller than 10k.
However it may be possible to make it even smaller.

There are many standalone Forths on the web.
This means Forths which have their own bootloader
and which themselves operate as the operating system.

The only difference between the standalone Forth and my
kernel will be that my kernel takes care of system security
as well.

- Esa
Karig

RE:Web site?

Post by Karig »

Seeing as how this subject has popped back to the top of the stack, I may as well add an update to my post. :)

I do now have a website: http://www.karig.net/

I don't really have an OS yet, much less screenshots, but I have seventeen entries, explaining what I'm doing, and giving examples of code that can go into a boot sector. I'm currently working on a toy/prototype (16-bit real-mode) version of the colorForth-like compiler I want to include in the kernel. (I'm seeing if I can squeeze a crude compiler/IDE into a boot sector -- something you could actually use to write executable machine code into memory and then execute it.)
ezanahka

RE:Web site?

Post by ezanahka »

Yep... cool site.

I'm doing something similar to what you are.
A forth interpreter (with NASM) which I will
turn into an exokernel. Booting the system
is taken care of by GRUB. I'll be using
32-bit pmode.

Maybe we can share ideas and insights
as our projects have a lot in common...

I'll put up a website of my own as well for
my 'fxk' (forth exokernel) soon...
Forth rocks! ;]

- Esa
Post Reply