|
Programming C, bash, Python, Perl, PHP, Java, you name it. |
View Poll Results: favorite programming language? | |||
Asm | 19 | 10.73% | |
C | 67 | 37.85% | |
C++ | 36 | 20.34% | |
C# | 8 | 4.52% | |
Java | 15 | 8.47% | |
Javascript | 6 | 3.39% | |
Perl | 30 | 16.95% | |
PHP | 33 | 18.64% | |
Ruby | 13 | 7.34% | |
Python | 39 | 22.03% | |
Shell | 36 | 20.34% | |
Awk | 15 | 8.47% | |
Others: Tcl, Erlang, Haskell, Ocaml, D, Forth ... | 25 | 14.12% | |
Multiple Choice Poll. Voters: 177. You may not vote on this poll |
|
Thread Tools | Display Modes |
|
|||
I agree.
|
|
||||
Quote:
In 60 both Ken and Ritch actually were involved in the writing an unsuccessful time-sharing operating system in Assembly. The fact that Ruby in one command can do for what C needs 20 commands doesn't make it simple. The simplest language is Assembly (or to be more precise Assembly for couple MIPS chip-sets) and every C line of code requires 5 lines of code in Assembly. Your remark about compilers is only partially true. It is true that modern compilers or more precisely GCC are huge but that fact is that you do not need compiler to run binaries unlike interpreter which must be present to execute program written in an interpreting language. Do you think it would be possible for Damn Small Linux to be 50MB if it had compiler? Basic OpenBSD installation is about 540MB (I never install the games and install bsd.mp kernel only if the machine actually has multiple processors). Without compiler the installation is only 300MB. It is fairly easy to trim down "Desktop" version of OpenBSD probably to 200MB. On the another note I, as many OpenBSD users, have hight hope that GCC will be thing of the past in no time and that PCC will be the only compiler present in the base of the system. C is not a perfect language. The C is if I remember correctly soft parsing language. This problem is know from late 70 when U.S. department of defense commission large grant to overcome that weakness. Since C was not fixable they invented whole new language ADA Most of software for embedded devices in airplanes for instance is written in ADA for that particular reason. The reality is that no computer language is perfect since otherwise we would not have so many of them. An average Unix user must use interpreter on the daily base (shell). I cast my vote for C but I really like shell, sed, awk, and perl. In my line of the work I have to use mark up languages far more often (mostly TeX which is actually interpreter but also HTML and CSS) than any of previous languages. All of us also use every day Post Script but only few of us thing of it as a real programming language which is. Post Script is the best language for describing graphics on the page but is general purpose language which could be used to program numerical computations for instance. How relevant my opinion is? Probably not very much. In all my life I was exposed mostly to procedural languages with the exception of Lisp (Functional) and Fortran (Numerical language). Last edited by Oko; 7th November 2008 at 03:52 PM. |
|
|||
Quote:
Just because most compilers are bloated, doesn't mean they have to be. |
|
||||
Quote:
The syntactical rules fit in your head easy, compare to Perl and it is microscopic !!! The hardest thing to remember is how to use an enum[eration] or that in pointer arithmetic, you increment or decrement in multiples of the size of the memory it points to rather then directly modifying the address N. The differences between foo.bar, foo->bar, p, *p, and &p being fairly easy to recall. There are no built in functions - everything is 'man made', be it your own functions, stuff from the standard library, or abusing compiler 'built ins'. Likewise their are only a few fundamental types (char, short, int, ...). Standard C is so darn portable, it's practically useless for a lot of fun stuff -> file system manipulations; network communication; the good, the bad, and the ugly of manipulating processes / threads, e.t.c. If you ever dig into it, you would probably be surprised just how little standard C places on the 'popular' demands of popular operating system features being present. That's why we have things like POSIX, SUS, and the DOS/Windows APIs to define whats hopefully available on platform X. For example: dirent.h and the various ^.*dir() functions are fairly portable by convention, but not required to be there. Of the standard issue functions and feature found in hosted environments, the most complex are probably the string, time, and math procedures. Now let's look at a few larger languages.... C++, Java, Python, Ruby. We gain much larger standard library features, which will be there in the case of Java, Python, and Ruby at least (as I never read the C++ standard). They generally dictate a number of operating system features be provided, such as those related to threads, processes, file system, and network resources. We also have to accept the fact that many things are now objects and gain a list of common 'methods' which we must now remember. Strings, Lists, Hashes, blah blah and their manipulations. Although in the case of C++, things like std::string and std::vector are optional, you probably want them!!! By contrast most of the string functions in C are stuff most sane programmers would write themselves if need be, and come in a can of common operations so we don't have to debug them. Likewise we gain exceptions, reflection, and in the case of Java/Python/Ruby a much more complex form of code reuse (packages / modules, jars / gems / eggs, et. al.) and any associated complexity. Hey, what if some poor schleps destructor throws an exception, causes other objects to be destroyed while unwinding the stack and one of those destructor's throws an exception? Oh shit, if some one just tried to delete 20MB of allocated database queries, that's really bad -- terminate() now! (It's probably not a good idea to throw exceptions from a destructor in any language with a call stack anyway, let along in C++). Then look at assembly languages, X86 ASM for example... You have to deal with some form of consideration about the several modes the CPU has (real, protected, blah blah) and I'm no even going to mention the # of addressing modes... That's a lot more to stuff in head then C, lol. C is the kind of language, that is small, beautiful, and elegant; but so mind numbingly so, that you can spend a long time in coming to either appreciate or hate it for what it is, at least that is my opinion of the matter.
__________________
My Journal Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest ``foo'' someone someday shall type ``supercalifragilisticexpialidocious''. Last edited by TerryP; 7th November 2008 at 08:27 AM. |
|
|||
Quote:
Quote:
Though, as far as I know, PCC is still a long way from being able to compile a complete base system.
__________________
And the WORD was made flesh, and dwelt among us. (John 1:14) |
|
|||
Quote:
http://marc.info/?l=openbsd-cvs&m=121899860512511&w=2 As has been mentioned, both NetBSD & OpenBSD (kernel,userland) have been successfully compiled using PCC (plus a few patches..). This does not include ports, but, a fair share of them might compile with little modification. But it is still a work in progress, yet, already impressive. |
|
|||
So I'm a couple months out of the loop.
We could also use a good BSD replacement for GDB (assuming that there isn't one - I'm not aware of any).
__________________
And the WORD was made flesh, and dwelt among us. (John 1:14) |
|
|||
Quote:
|
|
||||
Quote:
__________________
"Experience is what you get when you were expecting something else." - /usr/games/fortune |
|
|||
Quote:
The majority of which are ISC licensed, the authors being: Copyright (c) 2002 Artur Grabowski <art AT openbsd.org> Copyright (c) 2002 Federico Schwindt <fgsch AT openbsd.org> Copyright (c) 2002 Jean-Francois Brousseau <krapht AT secureops.com> http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/pmdb/ Also, I'd like to correct my prior post.. pmdb(1) does work, but I forgot about the ptrace(2) requirement, I'm pretty sure the GENERIC kernel does not have PTRACE compiled in by default. EDIT: For sake of correctness, the license on a few of the files is 2 clause BSD, which.. the ISC is an equivalent of. EDIT2: Here I am, demonstrating my ignorance.. PTRACE is part of GENERIC, the pmdb(1) bugs I'm seeing may genuinely be bugs. Last edited by BSDfan666; 8th November 2008 at 06:19 AM. |
|
||||
Quote:
__________________
"Experience is what you get when you were expecting something else." - /usr/games/fortune |
|
||||
First of all (x)HTML isn't even a language. Although from it's term it's imply "LANGUAGE", but ; in fact, it's just a Markuping System/Structue.
!I think So.! 1. (Asm & C & C++) + [T]?CSH ( & in some rarely cases : SH) + "Saint perl" + Some *UNIX [Like!] tools/LANG (grep, awk, sed, ...) +++ VI/VIm=> I Have all things. so, Why do I hurt myself with learning something else? 2. C# is only one ugly quick answer, nothing much. 3. Java was a good idea with a wrong situation, I beleive that it -- bytcode - must be implement in C/C++ heaven too! 4. C# & Java -- All_Together -- : It's just a draft of a theory, but I think many phenomenons on the earth are bothered from Kernighan and Ritchie's book -- C Syntax --, from 1978 till now! I LOVE C Syntax -- especially Arrays! , and mentioned authors, too. What's some people problems with Array Syntax ? I don't know exactly!
__________________
mehrshad moslehi ---- vigol ---- vigolyas |
|
|||
As much as I love TCSH for my login shell (interactive use), I probably wouldn't use it for any serious shell scripting (though it will work for a simple quick and dirty - one time use - script).
I think someone posted here the link to why (t)csh isn't a good choice for shell scripting. But here's one reason off the top of my head - portability. Not a problem if you are the only one going to use it, but if you want to distribute your script you have a much higher probability of it being able to run with (ba)sh than with (t)csh (though, in all honesty I can't imagine a modern desktop install not having at least one variant of sh, csh, and ksh).
__________________
And the WORD was made flesh, and dwelt among us. (John 1:14) |
|
|||
^^Thanks for posting the link.
But, I still like TCSH for my login shell.
__________________
And the WORD was made flesh, and dwelt among us. (John 1:14) |
|
||||
Quote:
Only the lack of proper output redirection bothers me sometimes, other than this, I have no problems with tcsh as a login shell.
__________________
UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things. |
Tags |
programming, programming language |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Favorite Programming Tools | JMJ_coder | Programming | 20 | 19th January 2015 07:56 AM |
your 3 favorite games | welkin | FreeBSD Ports and Packages | 17 | 5th June 2010 08:26 PM |
Best Web Application Language | JMJ_coder | Programming | 24 | 25th November 2008 12:25 PM |
The language here | scottro | Feedback and Suggestions | 11 | 19th May 2008 11:54 PM |