What is your current favorite programming language, and why?

  • spork
  • Brewmaster
  • Silver Member
  • User avatar
  • Posts: 6252
  • Loc: Seattle, WA

Post 3+ Months Ago

Application domains change; programming languages change, and people change. Thus, a person's favorite language is likely to change as they progress throughout their programming career.

Currently, what is your favorite programming language to work in, and why? What sort of domain problems do you find it best suited for? Why and how is it easier/better than other languages suited for the same domain?
  • Anonymous
  • Bot
  • No Avatar
  • Posts: ?
  • Loc: Ozzuland
  • Status: Online

Post 3+ Months Ago

  • casablanca
  • Proficient
  • Proficient
  • User avatar
  • Posts: 481

Post 3+ Months Ago

C++ has for long been and will continue to be one of my favourites. However, of late, I find myself using JavaScript a lot; it seems to me that you can do just about anything within the browser and you get platform-independence for free too.
  • spork
  • Brewmaster
  • Silver Member
  • User avatar
  • Posts: 6252
  • Loc: Seattle, WA

Post 3+ Months Ago

I was hoping to spark a conversation here, but apparently nobody likes anything except for casablanca.

I'll throw a few thoughts out here:

1) I recently had the honor to meet, speak with, and drink with Bjarne Stroustrup, the creator of C++. He's an incredibly interesting man, has a lot to say about where languages are today, and some of the cool new things coming up in the next C++ standard. I like C++ just a little bit more having spoken with him. He also has very good taste in beer.

2) Haskell. It's awesome. It's currently my favorite new language of the moment, due partially to the fact that it's my first shot at functional programming and that it has opened up countless ways of thinking and approaches to problem solving that I would have otherwise never encountered. If you ever have some free time and are thinking of learning a new language, I highly recommend it.

3) I'm done with PHP. It's a hacked-together, bloated, outdated artifact that I'm readily leaving behind in favor of languages such as Python for my web scripting needs. Then again, I've moved away from web programming altogether at the moment.
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • User avatar
  • Posts: 2733
  • Loc: Nashville, TN

Post 3+ Months Ago

I guess I'd have to say Java, more or less because it's the position I'm sitting in right now. Although, I wish I could find a little more time to learn groovy and python. What I have tried of both worlds, I've liked.

@spork
Kind of weird to meet people like that, isn't it? I had a chance not too long ago to have a few drinks with Charles Forgy (Rete algorithm) and it just seems like the person is never how you envision them. What brought the opportunity to meet Bjarne?
  • spork
  • Brewmaster
  • Silver Member
  • User avatar
  • Posts: 6252
  • Loc: Seattle, WA

Post 3+ Months Ago

I run a student organization in our college, and we brought him in as an industry speaker.
  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • User avatar
  • Posts: 3422
  • Loc: Richland, WA

Post 3+ Months Ago

The first language I learned was PHP, mainly because I was young and it was very easy to learn. There's tons of support for it and its a very popular language for web development. I just recently finished a few courses in college for c/c++ 'Program Design and Development' and 'Data Structures'. The courses for me were very interesting (and extreme easy coming from 6 years programming experience). They were my first formal education in programming. Everything I knew before was all self taught from the wonders of the internet, i was too cheap to buy a book lol (PHP, Javascript, C#.Net, VB.Net, Basic, I also new some c/c++ very basic). The courses gave me an understand of under the hood about how things worked, for fun I would rewrite libraries (Like math.h, ctype.h, etc) Also it was one of the requirements of the course, the prof said if your going to use a short cut, you better understand how it works, kind of the same reason they teach you limits for calculus before they give you the short cuts, if all else fails you can take the limit. In php there always seems to be a function for everything so I really never looked into how anything really did what it did. I had idea's but never explored any of them.

A friend introduced me to python about a year ago and I've been meaning to learn it but I never really had a reason to. Nothing I was doing required it and I didn't really have the time to sit down and learn a new language to replace one that I already knew to do the same thing. I dibble dabbled with the command line to learn some of the syntax but nothing crazy. However, just recently (like a day ago) an opportunity presented itself. I just wrote my first python script the other day and it works and its actually being use for something! Kind of sounds stupid but I was stoked :) Right now I'm kind of on a python frenzies, pretty much anything I do I first looked to see if I can do it in python before I revert back to php.

I've also thought about looking into RoR, but nothing has presented it self to give me much of a reason to do so yet.

Back to the original question, right now it has to be PHP mainly because its the only one I really have a solid understand. However, c/c++ is really fun to program in I like having power in front of my fingers :wink: . Python is just crazy fast in terms of writing. Its got a lot of pre built functionality like PHP but seems a lot cleaner. Also it forces you to format your code which I like.
  • leeftail
  • Born
  • Born
  • leeftail
  • Posts: 1

Post 3+ Months Ago

Hey Everyone.

As I read various opinions across the internet I get the impression that you can achieve the same end result with many different programming languages?

Other than using a PC fairly well, I don't come from a computing background. In the last 10 months I've stuck my finger right in the internet pie, and it wasn't much longer before I realized I have to be able to program. I've read so much, yet I'm still feeling fairly lost. Maybe someone here can sympathize and advice/push me in the right direction?

I'm looking at creating programs that help me manage website development. I do confess that my ideas all started after discovering SEO, which blew me away. 10 months in, I understand a bit more about everything and how to help drive the internet in a positive direction. Don't feel you'd be helping someone that is sending the internet backwards.

I want to be able to specify a list of tasks. Things like going on various websites that I used, going search engines and making a specific search (or using their API's). From these tasks I'll end up with lists of URLs, whether its from SERP's or back link data etc. I then want to gather all information I can find out those websites, such as the age, Alexa rating, yahoo link count, IP address. I assume the best way to store all this information is in Access? That way I can query and present the data how I want to see it.

So really, I guess I'm looking for a programming language that lets me interact with databases, allowing me to interact with web services and input it into the database.

Up to now I've thought that Perl is the answer? But I've read that if you don't know any C/C++ then you'd be stupid to try and learn Perl?

I welcome thoughts and advice with open arms. Also, any books that people highly recommend would be much appreciated. There are quite a few to choose from and I'm fairly pennyless.

Thanks in advance.
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • User avatar
  • Posts: 2733
  • Loc: Nashville, TN

Post 3+ Months Ago

It sounds to me like you're serious about getting into programming, so let's take it a piece at a time. Yes, you can often achieve same or similar results with different languages, but more often than not, it has to do with which language you know that best suits the job. While I could write a fairly simple page with a simple database backend in C#, I would personally choose something more like PHP or Python to do the job just because I feel I could reach my goal faster. Someone else may not feel the same way, of course, but that stresses the point - you don't want a hammer to be the only tool in your bag. Learning several languages as you tackle various types of projects is key to building a versatile skillset.

As for your particular project, my first piece of advice is to start small! You need to learn your way around a language, so break your overall goal down into more manageable steps. Start by making a website with tasks - make one page where you put in tasks with date and time, and another page that shows you your outstanding task list and allows you to check them off as you complete them. Then make a third page that shows you what tasks you've already completed. Once you've mastered that, you can move on to integrating some of your other features and tidying up the UI.

Speaking of UI, that brings up another point: focus on functionality first. As you start learning and filling out your page, don't worry about if it's 'pretty' to start. If you have the best looking page I've ever seen as a visitor, but it doesn't do a thing as it should, I won't stay very long before I go find another page that works. For starters, keep a simple white page with some basic form elements to build your task list stuff. Once it works, you can worry about making it look more appealing. CSS, proper web design techniques, and cross-browser compatibility are all essential to good pages, but every one is a topic in and of itself that you will need to study and learn down the road.

Third piece of advice: use languages with wide support as you start your journey to becoming a programmer. The more literature available online, the easier it will be to find help when you need it. For a project of this size and functionality, I recommend using PHP or Python. For a database, use MySQL. Avoid Access - you'll learn why sooner or later, but for now just know that it's not the preferable tool for the job. There are several good tutorials on working with MySQL databases with either language choice (PHP here, Python here). We have tutorials here on Ozzu that member have put together for people just like you who want to learn more. There's a good 3-part "Learning PHP" tutorial amongst others here and a few Python tutorials, including an introduction to the language, here. If you need even more primers on getting started with one of the two, then try Google searches like this or this.

Last piece of advice: Research and ask questions! With so many tutorials and snippets out there, it's tempting to just copy/paste some code chunks together in hopes that they'll do what you intend for them to, but if you really are serious about this then you should read and work all the way through tutorials and try to fully understand the code that you're using and how it works. If something doesn't make sense, then Google it (sense a trend there? Search engines are a programmer's friend!) or ask people who would most likely won't just know the answer, but might be able to explain it to you in a way that makes more sense (like us!).

Good luck!
  • joebert
  • Fart Bubbles
  • Genius
  • User avatar
  • Posts: 13503
  • Loc: Florida

Post 3+ Months Ago

I've come across this thread a half-dozen times now and I still can't decide on a favorite. :scratchhead:

I like new stuff. I don't think I care what language it is, I like anything that has features I'm not familiar with yet. I guess that means my current favorite is always going to be the one I'm looking in the documentation for at the moment. :)
  • mindfullsilence
  • Professor
  • Professor
  • User avatar
  • Posts: 854

Post 3+ Months Ago

Well, I want to say jQuery, but seeing as how jquery is just a javascript library and I don't know javascript...I don't think I can say either.
  • Bogey
  • Genius
  • Genius
  • Bogey
  • Posts: 8399
  • Loc: USA

Post 3+ Months Ago

PHP because that is the only language that I know :lol:

I'm going to try and learn JavaScript and that is when my interest in programming/web development would spark... I have lots of ideas but no know-how to get my ideas started.

I'm a lot different then Joebert... if I get familiar with something I stick to it until I get bored to death with it... and then I start trying to familiarize myself with something else.

JavaScript time :lol:
  • mk27
  • Proficient
  • Proficient
  • User avatar
  • Posts: 334

Post 3+ Months Ago

I've written stuff at one time or another in Basic, bash, C, javascript, perl, python (a very wee bit), ruby, fooled around once or twice with java and lisp, etc.

The first serious programming I did was in perl, and I still love it.

My largest projects have been in C, which provides a great contrast to perl, so I would say those two are tied for my "fav" languages. I understand C++ to an extent but don't have much need or desire to use it.

IMO javascript is really well done, despite having been much maligned in the past, I think.

wrt to PHP, I've looked at it, it was a php book that introduced me to the concept of embedding in html. PHP was a real "revolution". But as spork hints, it seems to me there are better, albeit much less popular, possibilities for embedding stuff in html, esp considering the fact that it apparently does not work properly with a worker-threaded apache server, which seems a little sad.

I started out web programming with cgi, then learning embedded server side stuff. Recently I had to do a project that had to be cgi, and noticed that my embedded html experience greatly broadened my perspective on cgi (which the roots of PHP are in perl cgi). Really, there is nothing about, eg, an MVC framework (or anything else, web dev wise) that could not be done with some clever cgi. Not a very significant point, since AFAIK there's no advantage, but it was still interesting.

I very strongly believe having a variety of well used, well supported languages is important and people should follow their own diverse bliss in creating the situation.
  • cipher
  • Graduate
  • Graduate
  • User avatar
  • Posts: 157

Post 3+ Months Ago

I started with PHP like many others (briefly some classic ASP before PHP) and that was because it was very easy to get up and running with and I was fascinated with the web as a platform at the time. It was actually "hacking" back then and as I learned formal software engineering, the way I wrote PHP code changed.

Now I have programmed professionally in a variety of languages and worked on an open source compiler. What I like in a language is consistency, conciseness (lots of sugar), and willingness to evolve.

From my experience it is evident that one of the hardest things to do is remove a language feature (even the terrible ones). That said, I think PHP, C++, and JavaScript totally suck. PHP is way too slow to evolve and is just ugly (in many ways). Last year I gave up on the idea of PHP 6. C++ suffers from complexity, accidental or otherwise. Complexity is a good way to do hardcore things but the reality is that even if you master a language the complexity will come back to haunt you. We can go on all day about why JavaScript is just horrible as a language. The ECMAScript committee even skipped edition 4 of ECMA-262. I have respect for all these languages and their designers.

Today my favorites include ANSI C, C#, Ruby, and still PHP in a weird legacy way. I love C for it's minimalism (even over all these years). C# is probably the #1 favorite because I appreciate fact that it continues to evolve using ideas from various paradigms--functional constructs, dynamic typing, etc. Ruby because it is syntactically beautiful (even more than Python).

To me what is most important is understanding the fundamentals so that you can pick up a new book and be well on your way with a new language within a week or two. Some other non-mainstream languages that I like include Scala (potentially complexity issues) and Cobra.
  • genux
  • Graduate
  • Graduate
  • User avatar
  • Posts: 106
  • Loc: UK

Post 3+ Months Ago

I would say that my favorite language at present will have to be c++, just because it is soo fun.. you just learn allot about different aspects of how to do things and why it is not doing it.. e.g. memory management..

But on the whole the close second would be shared better, PHP/C#/Java..

I just like to develop and the one that allows me to "play" the most is c++..

But with web stuff, it would have to be PHP, C# second and JSP third.

CGI stuff C++.
  • ArtphotoasiA
  • Graduate
  • Graduate
  • User avatar
  • Posts: 204
  • Loc: Italy

Post 3+ Months Ago

Ok here we are... considering that I do not like too much learn new languages I'm focusing myself to make websites and not more than that... so..... I'm done with XHTMl/CSS I'm on javascript now... PHP will follow soon as is the base for too many useful thing.
  • langdon4487
  • Born
  • Born
  • langdon4487
  • Posts: 1

Post 3+ Months Ago

I've glanced at Ruby before, probably after someone remarked on how clean it is. I just took another look this afternoon, and was once again found myself ready to abandon the attempt without doing anything useful, for the usual reasons:

* Lack of documentation: If I write a method that takes a block, how do I then pass that block on to another method? The introductory guides give examples, but no general rules for how blocks work. After a bit of searching, I found the Pragmatic Programmers' guide which, although good, appears to be at least a year out of date. And I still haven't found the answer, though I'm not done searching. Then again, maybe I'm just slow or something.
* Hackishness: The syntax is usually clean, friendly, DWIM, and the like. But when you look at some of the corner cases, it gets frightening. Take a look at this from the doc:

When Ruby sees a name such as ``a'' in an expression, it needs to determine if it is a local variable reference or a call to a method with no parameters. To decide which is the case, Ruby uses a heuristic. As Ruby reads a source file, it keeps track of symbols that have been assigned to. It assumes that these symbols are variables. When it subsequently comes across a symbol that might be either a variable or a method call, it checks to see if it has seen a prior assignment to that symbol. If so, it treats the symbol as a variable; otherwise it treats it as a method call.

So if I add a local variable "foo", it can silently mask subsequent calls to a function "foo" that I've been happily calling for a month? Yikes. Sure, Perl has some wierd things going on in places, but they mostly just show up in golf games.

Don't get me wrong -- it's a fun, interesting language; if you squint a bit, it's clean at a higher level. But it still seems like a hack, not a solid foundation for software. I wouldn't trust it with my file system.
----------------------------------------
  • nexuslite
  • Newbie
  • Newbie
  • nexuslite
  • Posts: 10
  • Loc: Keizer, OR

Post 3+ Months Ago

JavaScript is probably one of the best languages. It is included with every computer like sort of like basic was back in the old days. So it should make for a great beginner language. It does need some IO functions though besides calling web pages. Currently I use PHP to deal with i/o stuff: file handling, database queries.

However, my favorite language is still Assembly. Having that amount of control over the computer is what I want. Unfortunately, it is a dieing language. I haven't done any assembly language programming in a long time. About 5 years ago I got into web development so I spend most of my time with PHP, JavaScript, HTML, CSS, and SQL.
  • Sumen
  • Proficient
  • Proficient
  • User avatar
  • Posts: 421
  • Loc: Rochester or Albany, NY

Post 3+ Months Ago

This is such a hard question.
The first language I really learned was php. I actually now hate it, I still use it though because I can get projects done quick in it (hate it but it works well for what it does). Academically I have been taught Java, and some C++. C++ I actually really like but I find myself wasting time chasing errors I don't understand, so I actually tend not to use it. Java is the most well designed language I have used (IMHO). I find code written in it easy to understand and usually pretty well structured. Java I would consider my favorite if it was actually good at what I like to do :).
Currently I have a love hate relationship with Actionscript 3. I really hated learning it, because It has inconsistent hard to understand behavior... its a quirky language (and not well documented on those specifics). Its great for doing 2d drawing and animation on the web though, and if you have the patience to trial and error your way to understanding the quirks... its actually amazingly flexible...
I want an excuse to write python... I got a glimpse of it while scripting in maya and it was pretty damn cool.

Honestly my favorite language seems to be the latest one I've mastered (in my opinion). They all seem to have their uses.
  • spork
  • Brewmaster
  • Silver Member
  • User avatar
  • Posts: 6252
  • Loc: Seattle, WA

Post 3+ Months Ago

Sumen wrote:
C++ I actually really like but I find myself wasting time chasing errors I don't understand, so I actually tend not to use it.

C++0x is supposed to much better, more relevant STL errors, although whether we ever get to see 0x in our lifetime is questionable.

Debugging C++ is a skill that you can only build through doing it over and over. Once you're fairly proficient with the language, the "weird" errors become less frequent.

Sumen wrote:
Java is the most well designed language I have used (IMHO). I find code written in it easy to understand and usually pretty well structured. Java I would consider my favorite if it was actually good at what I like to do :).

If you like Java, you should play around with C# (if doing Windows .NET programming, obviously). I tend to like some of the .NET counterparts to Java's libraries in many cases.

Sumen wrote:
Currently I have a love hate relationship with Actionscript 3. I really hated learning it, because It has inconsistent hard to understand behavior... its a quirky language (and not well documented on those specifics). Its great for doing 2d drawing and animation on the web though, and if you have the patience to trial and error your way to understanding the quirks... its actually amazingly flexible...

I used AS3 a few years ago on my first co-op, and I rather liked it. Granted, I was using it to write Flex applications, so my experience was likely quite a bit different from yours. Overall, AS3 has, IMO, a very Java-like feel to it, but with a few niceties such as functions-as-objects and property getter/setters.
  • joebert
  • Fart Bubbles
  • Genius
  • User avatar
  • Posts: 13503
  • Loc: Florida

Post 3+ Months Ago

I gave up on Actionscript a couple of years ago now. It was nice when it was a simple language, but then they just started to complicate everything.

I figure I might as well be writing a desktop application with a less paranoid set of security restrictions if I'm going to get that in depth with the language.

Post Information

  • Total Posts in this topic: 20 posts
  • Users browsing this forum: No registered users and 118 guests
  • 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 post attachments in this forum
 
 

© 1998-2014. Ozzu® is a registered trademark of Unmelted, LLC.