13 Replies - 3202 Views - Last Post: 16 June 2012 - 03:27 AM

#1 trancongjava  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 7
  • Joined: 29-January 12

Which programming languages do you like?

Posted 01 March 2012 - 06:36 PM

Hi everybody,

Just as everybody, I am keen on programming. But there are many programming languages so I cannot study all of them and it's not necessary to study all.

So I just study some programming language such as C#, JAVA, C++...
I like their flexibility, effect.
I used to use these programming languages to write some appliacations such as notepad, image cells game, game cards, typing game...

and you?
Which programming languages do you like?
Why do you like them?
Can you tell out your own applications which you wrote?

Thanks

Is This A Good Question/Topic? 0
  • +

Replies To: Which programming languages do you like?

#2 sepp2k  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 2101
  • View blog
  • Posts: 3,203
  • Joined: 21-June 11

Re: Which programming languages do you like?

Posted 02 March 2012 - 01:43 AM

Okay, here's a non-exhaustive list of some of the programming languages I have used (in no particular order), some of the things I worked on in them and what I liked and didn't like about them:

  • C64 Basic
    What I did in it:
    • 10 PRINT "SEPP IS GREAT"
      20 GOTO 10
      
      

    • Guess the number
    • Some simple text-based games (a card game, a dice game and a very crude, menu-based text adventure come to mind)


    What I liked about it:
    • It was my first programming language. It taught me how to program.
    • It came with the computer and the documentation that came with it was quite extensive.



    What I didn't like about it:
    • Very rudimentary "editing" capabilities. You had to retype the whole program if you needed to enter a new line between two existing lines and there weren't enough line numbers left between them.
    • It didn't bother me at the time because I didn't know anything else, but Basic is a very crude language and GOTO isn't really a proper way to program


  • Quick Basic
    What I did in it:
    • Some more text-based games.
    • A very crude Missile Command-style game (first time I used graphics)
    • Lots of things I don't remember anymore


    What I liked about it:
    • A language that was very close (but much improved) to what I already knew, but for DOS
    • No line numbers!
    • A much improved editing experience. Not only could you move arbitrarily through the file and insert lines wherever you wanted, it even had syntax highlighting and debugging and shit.



    What I didn't like about it:
    • At the time not much, but as with C64 Basic it's a very limited language.


  • Ruby
    What I did in it:
    • Various shell script-like stuff
    • Various stuff to work with websites (like extracting information from wikipedia or uploading files to websites from the command line)
    • An "Execute..." dialog type application
    • An implementation of some genetic algorithms (uni group project)
    • For work: An in-house web-application to manage customer data, orders and bills.
    • For work: An application to manage school libraries (with others)


    What I like about it:
    • It's easy to write and easy to read (mostly)
    • It's very good at shell scripting and web stuff
    • It has a lot of easily installable libraries (gems)
    • Powerful and easy to use reflection API
    • Allows for creating very intuitive and very flexible APIs
    • Rails makes developing web applications quite easy
    • Good support for higher-order functions



    What I don't like about it:
    • No static type checking and not very easy to do other kinds of static analysis (though Laser looks surprisingly decent - haven't used it yet though since we're still using ruby 1.8.7 at work)
    • Not as much tool support as for example Java
    • Slow
    • Rails' reflection magic can lead to very strange behavior in edge cases some times



  • Java
    What I did in it:
    • Lots of homework at university
    • A Skat game (group project at uni)
    • For work: An optimizing RDF/SPARQL database engine (with others)
    • A library for graph operations (group project at uni)


    What I like about it:
    • Perfect tool support
    • Easily cross-platform
    • Easily distributed JAR packages



    What I don't like about it:
    • Somewhat limited language (no operator overloading, no first-class functions, no generics for primitive type, no creating instances of generic arguments, no calling static methods on generic arguments, ...)
    • Speaking of generics: Type erasure
    • Sometimes the language seems to be designed to force you into verbosity
    • Poor support for integrating with C-libraries
    • Poor support for working with the terminal
    • Some times the rather simplistic type system feels like a straight jacket



  • C++
    What I did in it:
    • Various small stuff. Back in school I used to write applications to do my maths homework for me
    • A pong clone
    • Lots of ACM contest problems
    • For work: Some tools to work with image data in a proprietary format


    What I like about it:
    • Templates
    • Good performance
    • Lots of available libraries
    • You can do almost anything in it



    What I don't like about it:
    • Template error messages
    • Compile times
    • Can be quite verbose at times
    • Memory management
    • Very limited run-time reflection support



  • Haskell
    What I did in it:
    • Some homework for uni
    • Some SPOJ problems
    • Some toy language interpreters
    • Some prototypes for various algorithms


    What I like about it:
    • Powerful and expressive type system
    • Type inference! I love having the compiler check my types without me having to type more.
    • Laziness allows for very elegant and natural approaches to some problems
    • Allows for very elegant and concise code (until you get to the IO part)
    • Vibrant and helpful community



    What I don't like about it:
    • Purity can be a pain when doing IO (though I realize you can't properly do laziness without it)
    • Lacks some library bindings and some other bindings are rather rudimentary
    • No mature GUI toolkits that allow GUI programming in a functional style
    • Laziness can make it hard to reason about performance and memory consumption
    • Lack of tool support



  • OCaml
    What I did in it:
    • For my bachelor's project I added some features to an optimizing compiler for a dependently typed functional array programming language


    What I like about it:
    • Much the same as Haskell except for the laziness
    • Non-purity makes some things easier
    • Strictness makes it easier to reason about memory consumption and performance than in Haskell



    What I don't like about it:
    • Even less libraries available than for Haskell
    • Somewhat more limited type system than Haskell
    • Case in point: No type classes
    • Lack of tool support



  • Scala
    What I did in it:
    • Various small stuff
    • A hex-based rogue-like game (in progress - once I have time to get back to it at least)


    What I like about it:
    • Like Java easily cross-platform and easily distributed
    • Fixes a lot of shortcomings of Java
    • Adds lots of functional features
    • Adds lots of type system features


    What I don't like about it:
    • Still has type-erasure because JVM
    • In some cases I miss the succinctness of algebraic data types. Enum syntax is clunky (because it isn't syntax)
    • Like Java no good support for the console



... okay, I'm getting tired of all the typing, so let's cut this short. Here's the other languages I want to mention in short form:

  • Delphi - First language I used on Windows. Made it easy to create GUIs. Pretty boring language-wise.
  • C# - basically a better Java with some nice features (LINQ, code contracts), but still verbose in places. Proper cross-platform console support (no need for curses bindings).
  • F# - OCaml for .net. Units of measure are a nice idea. So are type providers and computation expressions
  • PHP - Used it for web-stuff early on, but it's really not a nice language. Quite ubiquitous though.
  • Prolog - Never did anything serious in it, but it's certainly worth learning just for learning another way of thinking about problems. Logic programming is definitely an interesting concept.
  • Scheme - Certainly worth a try if you want to get into functional programming, but are scared of by Haskell's and ML's type systems. Personally I prefer my functional programming statically typed.

This post has been edited by sepp2k: 02 March 2012 - 09:48 AM

Was This Post Helpful? 2
  • +
  • -

#3 jon.kiparsky  Icon User is online

  • Pancakes!
  • member icon


Reputation: 7641
  • View blog
  • Posts: 12,883
  • Joined: 19-March 11

Re: Which programming languages do you like?

Posted 02 March 2012 - 09:21 AM

The language I like is the one that's best suited to the job at hand. The only language I've used much and really disliked has been PowerShell - a cheap and useless perl knockoff optimized for maximum confusion. Other than that, all of the languages I've used have had some features I like. No one language is going to do everything for you, this is why you need a toolbox.
Your toolbox should include a general-purpose application builder. For me that's Java, but it could be C++ or C# if you want to limit youself to one OS, but usually it's going to be something with good OO capacity, a deep set of libraries, and a design that inclines more towards safety than convenience.
You also want a good scripting language. For me that's usually perl, sometimes bash or awk, depending on the need.
I see no reason not to have some sort of web stack available to you. There seem to be a number of options, but the LAMP stack plus javascript and is a good template - a server, a database, a server-side language, and a client-side language. Plus html and css, of course. You might not do a lot of web programming, but it's likely you'll need to work with web stuff in your career, and it's good to be familiar with how that stuff all fits together.
I'm afraid the answer is "badly", in most cases...
You will want to give some attention to the database side of that. Know enough about SQL to get into trouble. Build a few database-backed applications, just to get the hang of it. You might not be Doctor Data, but again, it's likely to come up from time to time and you'd rather not be caught off guard.
And of course if you're at all interested in programming beyond the simple imperative to earn a living, you'll find yourself drawn towards functional languages. Learn a lisp or two, study the lispy recursions, get used to the idea of first-class functions. It'll give you a lot of useful ideas, even if you stay in the plain-vanilla Java/C# OO world for your actual development.

Do all of this and I think you'll find some languages that you like more than others. You'll certainly be a useful programmer by the time you're midway through the process.
Was This Post Helpful? 0
  • +
  • -

#4 sepp2k  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 2101
  • View blog
  • Posts: 3,203
  • Joined: 21-June 11

Re: Which programming languages do you like?

Posted 02 March 2012 - 09:42 AM

View Postjon.kiparsky, on 02 March 2012 - 05:21 PM, said:

Your toolbox should include a general-purpose application builder. For me that's Java, but it could be C++ or C# if you want to limit youself to one OS


I'm not sure whether you mean for "if you want to limit youself to one OS" to apply to just C# or both C# and C++, but either way that's not true. It's very easy to create cross-platform application in C# (winforms applications run just fine on all three OSs and if you use GTK# instead it even looks pretty on Linux, which is more than you can say for Swing applications) and C++ (though C++ applications need to be recompiled for each OS, of course).
Was This Post Helpful? 0
  • +
  • -

#5 jon.kiparsky  Icon User is online

  • Pancakes!
  • member icon


Reputation: 7641
  • View blog
  • Posts: 12,883
  • Joined: 19-March 11

Re: Which programming languages do you like?

Posted 02 March 2012 - 10:01 AM

C# on posix? Well, I've learned something new, so I guess I can call it a day.
I never really saw the point in C#, to be honest, since it always seemed to me like a java knockoff with an extra helping of annoying, and I don't like booting into my Windows partition to use VS. Maybe I'll take a second look at it one day.
Was This Post Helpful? 0
  • +
  • -

#6 sepp2k  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 2101
  • View blog
  • Posts: 3,203
  • Joined: 21-June 11

Re: Which programming languages do you like?

Posted 02 March 2012 - 10:16 AM

View Postjon.kiparsky, on 02 March 2012 - 06:01 PM, said:

C# on posix?


Yes. In fact two applications I use on a daily basis (banshee and gnome-do) are written in C#. That's two more than are written in Java (which isn't meant as an insult to Java - just an observation).

Quote

I never really saw the point in C#, to be honest, since it always seemed to me like a java knockoff with an extra helping of annoying, and I don't like booting into my Windows partition to use VS.


There's actually a fairly decent C# IDE for Gnome called monodevelop - it's no Visual Studio (or Eclipse for that matter) though. No argument that C# is a Java clone, but it does add useful features (lack of first-class functions/lambdas was always an annoyance I had with Java (though I hear those will be coming in Java 8) - and LINQ, local type inference and code contracts are nice too) and it does fix some of the most egregious shortcomings of Java generics (namely: type erasure, lack of support for primitives, inability to do new T() where T is a generic argument).

That isn't to say that Java doesn't have its advantages versus C#. Just that C# definitely does improve some things.

This post has been edited by sepp2k: 02 March 2012 - 10:29 AM

Was This Post Helpful? 1
  • +
  • -

#7 jon.kiparsky  Icon User is online

  • Pancakes!
  • member icon


Reputation: 7641
  • View blog
  • Posts: 12,883
  • Joined: 19-March 11

Re: Which programming languages do you like?

Posted 02 March 2012 - 10:34 AM

Well, maybe I'll have a look at it. One of these days...
Was This Post Helpful? 0
  • +
  • -

#8 Harryjones605  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 05-April 12

Re: Which programming languages do you like?

Posted 05 April 2012 - 04:07 AM

Hi Guys,

I am relatively new to C# but I really would like to learn it. I was given several recommendations how to start. Some told me to start with books others told me to have a look at sample programs and recommended one that is suitable for building a softphone (http://www.voip-sip-sdk.com/p_272-how-to-build-a-softphone-using-ozeki-voip-sip-sdk-voip.html)

What is your opinion which is the right option for one who wants to start learning things?

Thanks in advance.
Was This Post Helpful? 0
  • +
  • -

#9 modi123_1  Icon User is online

  • Suitor #2
  • member icon



Reputation: 9073
  • View blog
  • Posts: 34,113
  • Joined: 12-June 08

Re: Which programming languages do you like?

Posted 05 April 2012 - 07:17 AM

A book or two. Work through them. There is nothing but positives on structured learning.
Was This Post Helpful? 0
  • +
  • -

#10 Duckington  Icon User is offline

  • D.I.C Addict

Reputation: 170
  • View blog
  • Posts: 608
  • Joined: 12-October 09

Re: Which programming languages do you like?

Posted 05 April 2012 - 12:30 PM

Not many yet.

My main language which I used every day is PHP. I enjoy that because it was quite quick and easy to pick up, there is a lot of documentation and a lot of tutorials/examples, etc... on the internet for pretty much everything I need.

I've also used a bit of Java when I was at university and a bit of C#. I disliked Java immensely, though for some reason didn't mind C# that much.

I'm sort of trying to learn C++ at the moment as well, to boost the CV and open myself up to more jobs. I've also tried to learn Ruby, because that looked like a really interesting language, but I found it very difficult to get it set up on my computer and gave up in the end >.>
Was This Post Helpful? 0
  • +
  • -

#11 developers  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 11
  • Joined: 06-April 12

Re: Which programming languages do you like?

Posted 06 April 2012 - 10:35 PM

My favourite programming language is PHP . it is easy to learn .
Was This Post Helpful? 0
  • +
  • -

#12 wordswords  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 76
  • View blog
  • Posts: 272
  • Joined: 17-December 11

Re: Which programming languages do you like?

Posted 10 April 2012 - 10:16 AM

I mainly use Python, PHP/LAMP and Java. Python is my first choice if it is a suitable problem, PHP/LAMP I use for web applications, and Java for everything else. On Linux systems, I occasionally find myself coding in C or scripting in bash or perl.
Was This Post Helpful? 0
  • +
  • -

#13 aguswgs  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 2
  • Joined: 06-May 12

Re: Which programming languages do you like?

Posted 06 May 2012 - 08:43 PM

Hi all..

I am expert at PHP, Java and Ruby on Rails, but i like Ruby on Rails programming language it so simple to use for me
Was This Post Helpful? 0
  • +
  • -

#14 annaharris  Icon User is offline

  • New D.I.C Head

Reputation: -4
  • View blog
  • Posts: 38
  • Joined: 03-May 12

Re: Which programming languages do you like?

Posted 16 June 2012 - 03:27 AM

I prefer PHP and Ruby on Rails both are simple and easy to learn.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1