What is your current favorite programming language, and why?

  • spork
  • Brewmaster
  • Silver Member
  • User avatar
  • Joined: Sep 22, 2003
  • Posts: 6128
  • Loc: Seattle, WA
  • Status: Offline

Post December 30th, 2009, 1:33 am

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?
The Beer Monocle. Classy.
  • Anonymous
  • Bot
  • No Avatar
  • Joined: 25 Feb 2008
  • Posts: ?
  • Loc: Ozzuland
  • Status: Online

Post December 30th, 2009, 1:33 am

  • casablanca
  • Proficient
  • Proficient
  • User avatar
  • Joined: May 29, 2007
  • Posts: 481
  • Status: Offline

Post December 30th, 2009, 12:20 pm

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.
No Strings Attached: A JavaScript graphics demo.
  • spork
  • Brewmaster
  • Silver Member
  • User avatar
  • Joined: Sep 22, 2003
  • Posts: 6128
  • Loc: Seattle, WA
  • Status: Offline

Post January 4th, 2010, 10:53 pm

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.
The Beer Monocle. Classy.
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • User avatar
  • Joined: Jul 25, 2005
  • Posts: 2735
  • Loc: Nashville, TN
  • Status: Offline

Post January 5th, 2010, 7:01 am

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?
I'd love to change the world, but they won't give me the source code.
  • spork
  • Brewmaster
  • Silver Member
  • User avatar
  • Joined: Sep 22, 2003
  • Posts: 6128
  • Loc: Seattle, WA
  • Status: Offline

Post January 5th, 2010, 11:49 am

I run a student organization in our college, and we brought him in as an industry speaker.
The Beer Monocle. Classy.
  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • User avatar
  • Joined: May 22, 2004
  • Posts: 3415
  • Loc: Richland, WA
  • Status: Offline

Post January 5th, 2010, 3:09 pm

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.
#define NULL (::rand() % 2)
  • leeftail
  • Born
  • Born
  • No Avatar
  • Joined: Jan 06, 2010
  • Posts: 1
  • Status: Offline

Post January 6th, 2010, 6:32 am

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
  • Joined: Jul 25, 2005
  • Posts: 2735
  • Loc: Nashville, TN
  • Status: Offline

Post January 6th, 2010, 7:16 am

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!
I'd love to change the world, but they won't give me the source code.
  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Joined: Feb 10, 2004
  • Posts: 13455
  • Loc: Florida
  • Status: Offline

Post January 6th, 2010, 1:37 pm

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. :)
Strong with this one, the sudo is.
  • mindfullsilence
  • Professor
  • Professor
  • User avatar
  • Joined: Aug 04, 2008
  • Posts: 846
  • Status: Offline

Post January 6th, 2010, 1:57 pm

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.
Use your words like arrows to shoot toward your goal.
  • Bogey
  • Bogey
  • Genius
  • User avatar
  • Joined: Jul 14, 2005
  • Posts: 8211
  • Loc: USA
  • Status: Offline

Post January 6th, 2010, 11:35 pm

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:
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • mk27
  • Proficient
  • Proficient
  • User avatar
  • Joined: Jun 09, 2009
  • Posts: 334
  • Status: Offline

Post January 7th, 2010, 11:06 am

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.
Image
  • cipher
  • Graduate
  • Graduate
  • User avatar
  • Joined: Feb 11, 2004
  • Posts: 157
  • Status: Offline

Post January 9th, 2010, 12:32 am

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
  • Joined: Jan 22, 2010
  • Posts: 106
  • Loc: UK
  • Status: Offline

Post January 26th, 2010, 4:44 am

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
  • Joined: Dec 06, 2009
  • Posts: 192
  • Loc: Italy
  • Status: Offline

Post January 26th, 2010, 5:21 am

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.
  • Anonymous
  • Bot
  • No Avatar
  • Joined: 25 Feb 2008
  • Posts: ?
  • Loc: Ozzuland
  • Status: Online

Post January 26th, 2010, 5:21 am

Post Information

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

© 2011 Unmelted, LLC. Ozzu® is a registered trademark of Unmelted, LLC.