Favorite Programming Language
Favorite Programming Language
Please vote for your favorite programming language.
-MeLkOr
-MeLkOr
Re:Favorite Programming Language
Gee, has it been a month already? How time flies...
I can't tell you what my favorite language is, because I haven't designed and named it yet.
These days, I tend to favor the LISP family of languages (which I suppose is only appropriate ::)), primarily Scheme. A new dialect that is being developed, called Arc, has caught my attention recently; it seems to be going in the same directions as my own ideas, but I'm not sure how it will turn out yet.
I am also interested in Smalltalk and Python lately, though I have not seriously worked in either one to date.
I have a fair amount of experience in C and Perl, and some in C++, as well. I know x86 assembly language reasonably well, but have only limited experience in it.
I can't tell you what my favorite language is, because I haven't designed and named it yet.
These days, I tend to favor the LISP family of languages (which I suppose is only appropriate ::)), primarily Scheme. A new dialect that is being developed, called Arc, has caught my attention recently; it seems to be going in the same directions as my own ideas, but I'm not sure how it will turn out yet.
I am also interested in Smalltalk and Python lately, though I have not seriously worked in either one to date.
I have a fair amount of experience in C and Perl, and some in C++, as well. I know x86 assembly language reasonably well, but have only limited experience in it.
Re:Favorite Programming Language
PHP is my favorite programming language... right now anyway.
Re:Favorite Programming Language
Ruby
Just try it. The best parts of functional, imperative, object-oriented and scripting languages all in one.
Just try it. The best parts of functional, imperative, object-oriented and scripting languages all in one.
Re:Favorite Programming Language
Oh man, I don't want to spread my opinions. I will say so far is C. But, is there a language that is like C and ASM together. Like,
AX=BX;
etc.
AX=BX;
etc.
Re:Favorite Programming Language
HLA (High Level Assembler) allows you to use an assembly language with Pascal-like syntax. Its statements still pretty much match machine code 1:1, but HLA source code looks high-level.
Re:Favorite Programming Language
While I am not generally a fan of them, I know that there are a number of algebraic assemblers around, and you should be able to find several if you look around on the Free Compiler List, or with some Google searches.
One which I know of is TERSE, which is similar to HLA but with a C-like syntax which might be of interest. However, it is proprietary commercial software, runs only under DOS (though it should work under Windows or DOSEMU), and requires another assembler to run (i.e., its a preprocessor, not an assembler per se); make of that what you will. I can tell you from personal experience that the author is an arrogant fool who is convinced he's squared the circle with this language, but that doesn't really reflect the language's own merits.
Years ago there was another called PL/Dave, but I haven't heard about recently.
You might finds it interesting to check out the TUNES Project's LLL, which is supposed to merge assembly-level programming with a new semi-portable language (the TUNES web pages are an excellent OS-development resource, BTW, especially their list of existing operating systems).
You might take a look as FORTH-assemblers, as well. Though I suppose you'd have to already be familiar with FORTH's syntax for them to make much sense (not a bad, since it is an unusual and rather interesting language...).
If all else fails, you could always write an assembler or preprocessor of your own. I've considered designing a LISP-like assembly language, similar to the toy system in SICP, but for now I've concluded that it would be too verbose and unwieldy (though I may reconsider the idea later).
One which I know of is TERSE, which is similar to HLA but with a C-like syntax which might be of interest. However, it is proprietary commercial software, runs only under DOS (though it should work under Windows or DOSEMU), and requires another assembler to run (i.e., its a preprocessor, not an assembler per se); make of that what you will. I can tell you from personal experience that the author is an arrogant fool who is convinced he's squared the circle with this language, but that doesn't really reflect the language's own merits.
Years ago there was another called PL/Dave, but I haven't heard about recently.
You might finds it interesting to check out the TUNES Project's LLL, which is supposed to merge assembly-level programming with a new semi-portable language (the TUNES web pages are an excellent OS-development resource, BTW, especially their list of existing operating systems).
You might take a look as FORTH-assemblers, as well. Though I suppose you'd have to already be familiar with FORTH's syntax for them to make much sense (not a bad, since it is an unusual and rather interesting language...).
If all else fails, you could always write an assembler or preprocessor of your own. I've considered designing a LISP-like assembly language, similar to the toy system in SICP, but for now I've concluded that it would be too verbose and unwieldy (though I may reconsider the idea later).
Re:Favorite Programming Language
I think there is something like HLA for C too..
C-- is little like that IIRC (which might not be the case).
There are other similar things. Personally, I tried something years ago, and I found myself wanting to use higher level languages.. eventually, it all ended at C++. I wasn't really happy with that. So if I absolutely have to compile stuff, I usually use C++, except for OS stuff which I've done with C so far.
The problem is, you want to have control structures, because that's what makes ASM painful, right?
Next you want to have structured data, since "structs" make life much easier really. Now you are happy?
Most of us will get tired of dealing with registers too, so we want automatic stack allocated variables too. Happy?
Well, you have C now.. pretty much.
Next you probably want some better encapsulation, to make your large code sane. You probably also want some form of inheritance. You can do that all with function pointers and structs in C, but it gets boring. Templates also reduce the amount of typing, and are easier to use that macros. So, well.. we have C++.
Many are happy at this point.. kindof.. garbage collection is nice though.. you can do that with C++ and even C, yeah.. really you could do that with ASM too, if you really wanted to. With C++ it might even be quite sane. Some smart-pointers and such.. still, it's easier to go with something like Java. But Java is horrible really. You lose the templates (though you will get them soon to Java too, AFAIK).
But isn't it a little boring to deal with all the different types, when most of the time you would be perfectly happy to check the type when you want to instead? So why not go with some dynamic language. Ruby's one. Python's another. I prefer the former, some prefer the latter. PERL's also there.
Guess what, you can really still use C/C++/asm for your performance critical stuff.. though.. these languages still have problems..
Now, I'm not going to say that it isn't useful to go though this on your own. It's very helpful. You learn to understand why things in high-level languages are the way they are, and what are the real performance problems.
Guess what, I'm not happy with any of these languages really... I want something MORE high-level.
One thing that troubles me is that most higher level languages are not compiled. Things like Scheme and C++ are probably the highest level that gets compiled. Ok, really Perl/Python/Ruby/Java compile too, but they compile to bytecode. You can compile Java to native though (and JVM does this on the fly btw).
Why do I care then? I'd love to use some high-level language on machine level stuff. I'd love to have some high-level language combined with inline assembler. C++ is pretty good, but it has it's problems.
Ok, I've probably lost my point by now, but I think it was, there's still no "1 best programming language" for me. Depends on what one is doing. Sometimes you aren't even given the choice.
C-- is little like that IIRC (which might not be the case).
There are other similar things. Personally, I tried something years ago, and I found myself wanting to use higher level languages.. eventually, it all ended at C++. I wasn't really happy with that. So if I absolutely have to compile stuff, I usually use C++, except for OS stuff which I've done with C so far.
The problem is, you want to have control structures, because that's what makes ASM painful, right?
Next you want to have structured data, since "structs" make life much easier really. Now you are happy?
Most of us will get tired of dealing with registers too, so we want automatic stack allocated variables too. Happy?
Well, you have C now.. pretty much.
Next you probably want some better encapsulation, to make your large code sane. You probably also want some form of inheritance. You can do that all with function pointers and structs in C, but it gets boring. Templates also reduce the amount of typing, and are easier to use that macros. So, well.. we have C++.
Many are happy at this point.. kindof.. garbage collection is nice though.. you can do that with C++ and even C, yeah.. really you could do that with ASM too, if you really wanted to. With C++ it might even be quite sane. Some smart-pointers and such.. still, it's easier to go with something like Java. But Java is horrible really. You lose the templates (though you will get them soon to Java too, AFAIK).
But isn't it a little boring to deal with all the different types, when most of the time you would be perfectly happy to check the type when you want to instead? So why not go with some dynamic language. Ruby's one. Python's another. I prefer the former, some prefer the latter. PERL's also there.
Guess what, you can really still use C/C++/asm for your performance critical stuff.. though.. these languages still have problems..
Now, I'm not going to say that it isn't useful to go though this on your own. It's very helpful. You learn to understand why things in high-level languages are the way they are, and what are the real performance problems.
Guess what, I'm not happy with any of these languages really... I want something MORE high-level.
One thing that troubles me is that most higher level languages are not compiled. Things like Scheme and C++ are probably the highest level that gets compiled. Ok, really Perl/Python/Ruby/Java compile too, but they compile to bytecode. You can compile Java to native though (and JVM does this on the fly btw).
Why do I care then? I'd love to use some high-level language on machine level stuff. I'd love to have some high-level language combined with inline assembler. C++ is pretty good, but it has it's problems.
Ok, I've probably lost my point by now, but I think it was, there's still no "1 best programming language" for me. Depends on what one is doing. Sometimes you aren't even given the choice.
Re:Favorite Programming Language
Same here. I went from asm to C++ then to C.
Is it true that C++ makes massive process waste when using classes. I read in a book about it, but I didn't get what the author ment at that time.
Is it true that C++ makes massive process waste when using classes. I read in a book about it, but I didn't get what the author ment at that time.
Re:Favorite Programming Language
What do you mean by 'process waste'? C++ classes are more or less the same as C structs, as far as layout in memory is concerned.
Re:Favorite Programming Language
Mainly tradition, and partly because C requires less runtime support.
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:Favorite Programming Language
:0Adek336 wrote: I prefer C++ to C. It is simpler to use then C.
C++ simpler than C !?
well, we must either not have the same knowledge of both language or not have the same definition of "simple" ...