My Computer Forum Computer Science Forum

Go Back   My Computer Forum > Computer Science Forum > Programming

Programming Programming Languages, Interpreters, and Compilers - Assembly, Declarative, Machine, Object Oriented, Iterative


View Poll Results: What's your favorite computer programming brand?
C. 0 0%
C++. 5 29.41%
Java. 4 23.53%
FORTRAN. 0 0%
Other. 8 47.06%
Voters: 17. You may not vote on this poll

Reply
 
LinkBack Thread Tools Display Modes
December 2nd, 2007, 12:45 PM   #1
 
Joined: Dec 2007
Posts: 187
What's your favorite programming language?

Personally, I would choose C++. I think C++ gives the programmer a lot of options to programming stuff that they need to do.
johnny is offline  
 

My Computer Forum is free to register and we welcome everyone!

December 2nd, 2007, 02:21 PM   #2
 
Joined: Dec 2007
Posts: 2
Re: What's your favorite programming language?

well...on my faculty we deal mostly with Java, thus it's my favorite one! I think it's a bit easier to 'get into' with Java! And it's a new language comparing to most old-known languages!
javac is offline  
December 2nd, 2007, 04:02 PM   #3
 
Joined: Dec 2007
Posts: 138
Re: What's your favorite programming language?

Honestly, Fortran is on there, and not lisp, or perl, or python, or even pascal?

Anyway, I'm a Scheme man myself... or more correctly: (define me (fan Scheme)).

I haven't dealt all that much with C or C++, but I don't tend to work very close to the hardware, which means I could really care less where and how my memory is used. (read: I don't like needing to worry about memory unless I'm working on, say, a kernel)

I really don't like exception handling or the Java API. Creating data structures in java isn't too bad, but at that point, I might as well be working in C, because I'm not getting anything out of java's "features". I also don't like Java's inconsistent use of Objects vs primitives (<-- Terminology?). They're working on that, though.

As for Fortran... I guess it may come in handy if I'm doing some computationally intensive work, but in that case, I'd either use lambda calculus (read: Scheme), or take the time to learn Haskell.

Python seems fun, but I don't see myself really spending the time to get to know it. Same for Ruby. And I haven't seen a need for Perl, but I wouldn't mind learning it... Although by the time I need such a powerful scripting language, I'll probably be able to pump the script out in lisp in less time than it takes to learn Perl.

Why Scheme? First, once you get past the parens and prefix notation, you see that lisp is incredibly beautiful and clean. Also, being able to redefine "library" functions in one line {e.g. (define (+ x y) (* x y)) turns addition into multiplication} is incredibly useful. Also, LISP has ad standard features for decades that are "innovative" in "modern" languages...

I choose Scheme over Common LISP for a number of small reasons: (null?) says 'boolean' to me much more obviously than (nullp). I prefer theoretical work to applied work, which means I spend more time writing libraries than using libraries; I'd prefer a language with recursion optimization to a language with a larger "feature set" as I'll be using recursion constantly, but I won't be using a large pre-defined library.

Lastly, (define expression value) makes more sense and is more consistent than (defun [wtf? defun?] operator argument argument... value)
eg (define (+ x y) (* x y)) means define the expression "+ x y" to mean "* x y" (x*y in infix notation). This same function works with expressions that aren't functions as well: (define x 10) means define the expression "x" to mean "10".

In Common LISP it is (defun + x y (* x y)). This means define the function + on operators x and y to mean (* x y). This does not work on things that are not functions, because it is not defining an expression but an operator. This means that although functions are treated by the interpreter/compiler the same way as other expressions, they are not (and can not be) treated the same way by programmers. This places an arbitrary and unnecessary obstacle in the language.
cknapp is offline  
December 5th, 2007, 09:55 AM   #4
Site Founder
 
julien's Avatar
 
Joined: Dec 2007
Posts: 414
Re: What's your favorite programming language?

Assembler is quite interesting to me as this is the singest language that allows one to really figure out what's going on in the computer ... you can therefore find a level of optimization (speed) that is just impossible to attain by any other higher -level programming language. When developing complex software, however, you have to work with pre-coded modules otherwise you would end up having to code dozens of thousands of lines. Surprisingly enough, I've never taken it to the next level with the C language, but I might think about it in the near future (especially if I choose the quantitative analyst career, because C++ is the very first programming languages for pricing models)
julien is offline  
December 5th, 2007, 03:06 PM   #5
 
Joined: Dec 2007
Posts: 138
Re: What's your favorite programming language?

Quote:
Originally Posted by julien
Assembler is quite interesting to me as this is the singest language that allows one to really figure out what's going on in the computer
That's an interesting choice, and you're right on that point: If you want to know how a computer works, learn assembly.

As far as speed, the problem is that when you're working one step away from the computer, you need to tell it to do a lot of things that other people have already taught it to do. You mention pre-coded modules, but will this still increase your coding time enough to make it worth the time, from an economy stand-point? As long as you have algorithms with low time complexity, saving a few (thousand, or even hundred thousand) clock-cycles won't make much of a difference, because in another 2 or 3 weeks a new processor will come out that saves more time than your optimization. From a "work done" stand-point it's better to program in a higher level language, and let hardware do the job.

That being said, I've never really looked into assembly, so it may be tons of fun. And there are certain things that just can't be done any higher than C, and even C is a push. More important than "efficiency" is the amount of fun it is to code, and how "elegant" the code is. You will consistently be a better programmer if you only worry about those two things.
cknapp is offline  
December 6th, 2007, 06:13 AM   #6
 
Joined: Dec 2007
Posts: 232
Re: What's your favorite programming language?

Pure assembly is of no interest to me -- the code is hard to maintain -- but I think inline assembly (perhaps embedded in C) is worthwhile. You only need assembly for the bottlenecks; the parts that execute only once don't matter nearly so much.

I don't like Java; the exception handling and boxing/unboxing costs bother me, and I've found its garbage collection to be subpar. It also doesn't have a good way of handling large numbers (BigNum = trash), but most languages don't. Oddly I find C# to be excellent despite its similarity to Java: it is much better able to avoid boxing (in C# 2.0+), doesn't require the exception handcuffs while keeping most of the benefits (not that I use the structure much even in C#) and it is better equipped, like C++, to handle operator overrides. I do still lament to absence of an interface for basic operations: I'd love to write

Code:
public T mySum<T : IOperator> (T a, T b) {
	return a + b;
}
CRGreathouse is offline  
December 26th, 2007, 12:04 PM   #7
 
Joined: Dec 2007
Posts: 3
Re: What's your favorite programming language?

Python for me here

i had a really brief and superficial relationship with quick basic and C++

i love python for its simplicity
Sairin_Lote is offline  
January 21st, 2009, 04:35 PM   #8
 
Joined: Jan 2009
Posts: 6
Re: What's your favorite programming language?

Python for me also.
I am much annoyed with Scheme ><

Python has simple and clear formatting unlike the undeniably messy syntax of Scheme. Not that Scheme does not have its own perks. As my computer science teacher often stated, languages are all just a part of your programming "toolbox". Some languages are better suited for some tasks than others.

Python is much easier to write small scripts with because it was the first programming language I learned (besides BASIC on TI-Calculators). Java isn't too far off, but I know so much more about Python, having had more years of experience with it (slightly).
orunappi is offline  
January 25th, 2009, 07:49 PM   #9
 
Joined: Dec 2007
Posts: 138
Re: What's your favorite programming language?

Quote:
Originally Posted by orunappi
Python for me also.
I am much annoyed with Scheme ><

Python has simple and clear formatting unlike the undeniably messy syntax of Scheme. Not that Scheme does not have its own perks. As my computer science teacher often stated, languages are all just a part of your programming "toolbox". Some languages are better suited for some tasks than others.

Python is much easier to write small scripts with because it was the first programming language I learned (besides BASIC on TI-Calculators). Java isn't too far off, but I know so much more about Python, having had more years of experience with it (slightly).
Hehe. These days I'm working mostly with Haskell, and thinking in Scheme causes a bit of confusion-- they're just similar enough that I want to think the same way, but completely different, so I can't think the same way.
Anyway, the thing that's so hard to get used to with scheme is that you're programming in the expression tree. In other words, you're doing half your parser's work. This allows you to do fun things-- the sort of things that lispers/schemers trumpet to high heaven. I've never found the "messy syntax" to be that messy at all... I guess in comparison to python, which is white-space sensitive it looks like it has a lot of syntax, but when you actually get down into the theory, there are very few syntactic constructs built into the language: lambda, define, define-syntax, let, quote and '(' , ')'. Really, when it comes to things built into the language, there's nothing there. Sure, the parens in
Code:
(define (x) (lambda (y z) (+ y z)))
look nasty at first, but parens aren't too hard to get used to, especially if you use friendly indentation. (I have a quicksort on my computer that ends with 8 close parens ; Also, extra credit for anyone who tells me how to add two numbers using the function x-- that is, the scheme code that will return the value of y+z.)
I actually need to get used to the macro system in scheme... it's my one glaring problem with the language.

As far as Java being ok for quick scripts... I would disagree wholeheartedly; sure you may (as I do), have decent experience with the language, but that doesn't make it useful as a scripting language. Stick with Python (which I will one day learn), as it is actually a scripting language, and works like a scripting language. Java is cumbersome-- the object system is not particularly friendly for small objects (which is what a script needs), and writing System.out.println, and using FileReader/FileWriter are not friendly when working with something small and fast. Sure they're all fine for large projects, but quick scripts want quick scripting, and nothing that quick scripts do (a lot of file IO, or data parsing in general) are not particularly quick to write in Java.
Granted, I don't like Java, so perhaps there's some bias, but it has two very specific uses: binary-level portabililty, and web interfacing. Scripting is not on that list
cknapp is offline  
June 7th, 2009, 12:32 PM   #10
 
Joined: Dec 2008
Posts: 30
Re: What's your favorite programming language?

I personally just love Visual Basic. It's so easy to learn, at anyone could understand what's going on in the code just by glancing at it. I tried to learn C# once, and I almost mastered it, but it's too confusing. But I like C# because it has more features.
SidT is offline  
June 11th, 2009, 11:03 PM   #11
 
Joined: Jun 2009
Posts: 21
Re: What's your favorite programming language?

i just work with C++ and i love to work on.
daveD is offline  
October 22nd, 2009, 07:01 AM   #12
 
Joined: Oct 2009
Posts: 1
Re: What's your favorite programming language?

Hi...

my favourite is PHP.. it's simple!

but also I like Python... it's beautiful!!!
san4os is offline  
October 23rd, 2009, 04:30 PM   #13
 
Joined: Dec 2007
Posts: 187
Thanks for the reply, and welcome to the forum!
johnny is offline  
October 25th, 2009, 10:36 PM   #14
 
Joined: Mar 2009
Posts: 3
Re: What's your favorite programming language?

Has any1 tried Ruby/Ruby on Rails?

I looked at that a bit... seems like a weird cross between VB and Java :/
Wetmelon is offline  
October 28th, 2009, 10:36 AM   #15
 
Joined: Dec 2007
Posts: 138
Re: What's your favorite programming language?

Quote:
Originally Posted by Wetmelon
Has any1 tried Ruby/Ruby on Rails?

I looked at that a bit... seems like a weird cross between VB and Java :/
I haven't looked at Rails at all (it's a web framework for Ruby, right?), and I only know a very little bit about Ruby. From what I know, it's more like Python than either VB or Java, but I don't know any VB, so I wouldn't know.

The object system for both Python and Ruby is based on the smalltalk object system, which is really one of the nicer object systems (disregarding smalltalk's other problems). Ruby is a nice language, fun, but I wouldn't use it for serious work-- although that's partly because it isn't on the list of languages I know, and partly because I prefer declarative programming.
cknapp is offline  
Reply

  My Computer Forum > Computer Science Forum > Programming

Tags
favorite, language, programming



Thread Tools
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
Best Programming Language for Mathematics? six Programming 7 September 28th, 2011 12:14 AM
Quick! What's your favorite program you've written? CRGreathouse Algorithms 2 May 4th, 2008 08:59 AM





Copyright © 2018 My Computer Forum Forum. All rights reserved.