Want to learn another language

  • (2 Pages)
  • +
  • 1
  • 2

26 Replies - 1971 Views - Last Post: 13 September 2012 - 08:29 AM

#16 modi123_1  Icon User is online

  • Suitor #2
  • member icon



Reputation: 9381
  • View blog
  • Posts: 35,227
  • Joined: 12-June 08

Re: Want to learn another language

Posted 11 September 2012 - 09:59 AM

Yes.. like a Bohemian to a hand made, vintage, hemp jewelery table at the local dirt mall.
Was This Post Helpful? 0
  • +
  • -

#17 Curtis Rutland  Icon User is online

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 4526
  • View blog
  • Posts: 7,895
  • Joined: 08-June 10

Re: Want to learn another language

Posted 11 September 2012 - 03:19 PM

For anyone still confused about the C/C++/C# question, my answer:

C is a language initially released in the early 1970s. It's quite low-level by today's standards. It has a very small set of syntax rules. It's used systems and embedded programs, as well as general-purpose development. A good choice if you want to know more about what's actually going on with your program, because it doesn't hold your hand. C is compiled directly into machine language.

C++ is a language initially released in the mid 1980s. It's basically a superset of C. It adds things like Object Oriented features. It's considered higher-level than C is, but still relatively low-level compared to Java, since you still don't have automatic garbage collection and other such things. It's a very general-purpose language, useful for many things. Extremely common. C++ is compiled directly into machine language.

C# (pronounced See Sharp, since a lot of people wouldn't know that from reading it) is a language initially released in 2001, by Microsoft. It is not a set (sub or super) of C. It was named after C because of the similarity of its grammar (braces, whitespace, keywords, etc), not because it has any direct relationship to C or C++. I haven't mentioned an OS for the other two, because they're not OS-specific. C# was (until the Mono project ported much of the .NET Framework; C# is technically not restricted to Windows, but in practice, it is). C# is not compiled directly into machine language, but into CIL, which is then translated to instructions by a Just-In-Time compiler. C# is a fairly general purpose language, useful from things ranging from console applications, services, web services, web sites, and mobile applications. C# is considered a high-level language, with things like automatic garbage collection. You don't deal with manual memory allocation or pointer arithmetic in C#. C# is actually more like Java than any of the other C languages (it's actually like Java if Oracle weren't afraid of a little progress).

Hope that clears up the confusion. I know a lot of people think that C# is somehow related to C++, but it's really not, other than the similar grammar.
Was This Post Helpful? 2
  • +
  • -

#18 JavaLilly  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 30
  • Joined: 05-September 12

Re: Want to learn another language

Posted 11 September 2012 - 06:43 PM

View Postjon.kiparsky, on 11 September 2012 - 09:09 AM, said:

Avoid everything on this list for a start.

Beyond that, steer towards things, not away from them. There's a huge range of things that you could want to work on. If you want to write operating systems, you don't want javascript. If you want to write websites, C isn't going to help you a lot.
What are three things that you'd like to make?


Websites and videogames.

Problem solvers(math puzzles especially)

Animation/ Graphics
Was This Post Helpful? 0
  • +
  • -

#19 Curtis Rutland  Icon User is online

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 4526
  • View blog
  • Posts: 7,895
  • Joined: 08-June 10

Re: Want to learn another language

Posted 11 September 2012 - 11:08 PM

Well, that's quite broad. If you're really interested in video games, you need to learn C++. There are games made in other languages (Minecraft is Java, for example, and C# has XNA, which is a wonderful framework for creating games, especially indie games), but the large majority of games are written in mostly C++. If you ever want to work in the games industry, no other language will help you as much as a good working knowledge of C++.

Problem solvers can be written in basically any language you want. Functional languages like Haskell and F# (or Lisp, if you really want to be a purist) will be a good choice, because the paradigm they use favors this, but you have to completely change the way you think about software to really understand functional programming.

Websites...you have lots and lots of options. PHP is the ever-popular choice. I personally won't touch it with a ten-foot pole because of personal preference (and many here would and probably will completely disagree with me), but it's easily the most widely-used and widely-available server side language. C# is a good choice for web applications, with lots of options on how to actually create them. VB.NET offers literally everything C# does, with a VB grammar instead of a C-like one. Java is a popular choice in the enterprise world for web sites (Java EE). Ruby had a huge burst of popularity, but failed to sustain it. Still a valid choice, and a fairly interesting language, and Rails is a good framework for rapidly cranking out sites. Those are the major choices, these days. Oh, there's also Python with Django, but it's not exactly high-demand. Also, learn Javascript. You'll need it if you do web development of almost any kind, along with jQuery. There's also Node.js, for server-side javascript if you discover you love the language.

As for animation and graphics, I have no help for you there, because I have no experience in that field. But I can guarantee you that almost any language you pick will be of some use in that area.

To narrow down your choices with a list of my personal recommendations:

C#, C++, Python (which is a simple and enjoyable language), Ruby or PHP (if C# doesn't do it for you on the web side), and Javascript. Pick one of those and get started.
Was This Post Helpful? 2
  • +
  • -

#20 sepp2k  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 2132
  • View blog
  • Posts: 3,263
  • Joined: 21-June 11

Re: Want to learn another language

Posted 12 September 2012 - 07:55 AM

View PostCurtis Rutland, on 12 September 2012 - 08:08 AM, said:

Functional languages like Haskell and F# (or Lisp, if you really want to be a purist)


In what sense is list purer than Haskell?
Was This Post Helpful? 0
  • +
  • -

#21 Tayacan  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 145
  • View blog
  • Posts: 275
  • Joined: 18-January 11

Re: Want to learn another language

Posted 13 September 2012 - 06:51 AM

View Postsepp2k, on 12 September 2012 - 02:55 PM, said:

View PostCurtis Rutland, on 12 September 2012 - 08:08 AM, said:

Functional languages like Haskell and F# (or Lisp, if you really want to be a purist)


In what sense is list purer than Haskell?


I would say that it's not, at least not Common Lisp - CL allows mutable state, Haskell does not (unless you know black magic). However, Lisp is probably one of the oldest functional languages, and so some people think of it as the purest, even though it's not. Common Lisp could even be considered multi-paradigm - CLOS implements some sort of OOP in Lisp.

I haven't heard of a "purely" functional Lisp - "purely" meaning "as pure as it gets while still being practical", which is about where Haskell is.
Was This Post Helpful? 0
  • +
  • -

#22 jon.kiparsky  Icon User is online

  • Pancakes!
  • member icon


Reputation: 7875
  • View blog
  • Posts: 13,357
  • Joined: 19-March 11

Re: Want to learn another language

Posted 13 September 2012 - 07:05 AM

View PostTayacan, on 13 September 2012 - 08:51 AM, said:

I haven't heard of a "purely" functional Lisp - "purely" meaning "as pure as it gets while still being practical", which is about where Haskell is.


If you want a pure functional language, try unlambda.
Was This Post Helpful? 0
  • +
  • -

#23 Tayacan  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 145
  • View blog
  • Posts: 275
  • Joined: 18-January 11

Re: Want to learn another language

Posted 13 September 2012 - 07:42 AM

View Postjon.kiparsky, on 13 September 2012 - 02:05 PM, said:

View PostTayacan, on 13 September 2012 - 08:51 AM, said:

I haven't heard of a "purely" functional Lisp - "purely" meaning "as pure as it gets while still being practical", which is about where Haskell is.


If you want a pure functional language, try unlambda.


No thanks.

...wait, is there even a compiler for that?
Why yes, there is! However, I don't want a pure functional language. Really.

This post has been edited by Tayacan: 13 September 2012 - 07:44 AM

Was This Post Helpful? 0
  • +
  • -

#24 jon.kiparsky  Icon User is online

  • Pancakes!
  • member icon


Reputation: 7875
  • View blog
  • Posts: 13,357
  • Joined: 19-March 11

Re: Want to learn another language

Posted 13 September 2012 - 08:04 AM

View PostTayacan, on 13 September 2012 - 09:42 AM, said:

Why yes, there is! However, I don't want a pure functional language. Really.


Nobody does, really. That's why the "X isn't really pure" arguments are so annoying hilarious annoying and hilarious. It's like listening to Marxists accuse each other of doctrinal heresy.
Was This Post Helpful? 0
  • +
  • -

#25 Curtis Rutland  Icon User is online

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 4526
  • View blog
  • Posts: 7,895
  • Joined: 08-June 10

Re: Want to learn another language

Posted 13 September 2012 - 08:05 AM

View PostTayacan, on 13 September 2012 - 08:51 AM, said:

View Postsepp2k, on 12 September 2012 - 02:55 PM, said:

View PostCurtis Rutland, on 12 September 2012 - 08:08 AM, said:

Functional languages like Haskell and F# (or Lisp, if you really want to be a purist)


In what sense is list purer than Haskell?


I would say that it's not, at least not Common Lisp - CL allows mutable state, Haskell does not (unless you know black magic). However, Lisp is probably one of the oldest functional languages, and so some people think of it as the purest, even though it's not.


Pure was probably the wrong word for me to use. What I meant was that there's a cult of FP out there. A sub-cult of that, if you will, are the people that believe that Lisps are the holy grail of programming and that everything should be made in lisp. I think they have scriptures and prophecies written in S-expressions.

That's what I meant about a "purist". I know there are lots of practical people that use one of the Lisps, but it does seem to be the language with the most devoted cult around it.
Was This Post Helpful? 0
  • +
  • -

#26 sepp2k  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 2132
  • View blog
  • Posts: 3,263
  • Joined: 21-June 11

Re: Want to learn another language

Posted 13 September 2012 - 08:15 AM

View Postjon.kiparsky, on 13 September 2012 - 05:04 PM, said:

View PostTayacan, on 13 September 2012 - 09:42 AM, said:

Why yes, there is! However, I don't want a pure functional language. Really.


Nobody does, really.


Well, in case of lazy languages, you really don't want the language not to be pure (if we take "pure" to mean "referentially transparent").
Was This Post Helpful? 0
  • +
  • -

#27 Tayacan  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 145
  • View blog
  • Posts: 275
  • Joined: 18-January 11

Re: Want to learn another language

Posted 13 September 2012 - 08:29 AM

View Postsepp2k, on 13 September 2012 - 03:15 PM, said:

View Postjon.kiparsky, on 13 September 2012 - 05:04 PM, said:

View PostTayacan, on 13 September 2012 - 09:42 AM, said:

Why yes, there is! However, I don't want a pure functional language. Really.


Nobody does, really.


Well, in case of lazy languages, you really don't want the language not to be pure (if we take "pure" to mean "referentially transparent").


Obviously.
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2