• Which language should I learn first?
    89 replies, posted
[QUOTE=arienh4;24962007]That's not true anyway. Java isn't "officially supported" on every platform it runs on either, for example Android phones.[/QUOTE] My bad i meant windows, Mac & linux (among others)
[QUOTE=Richy19;24961950]Because with C++ you need to change/re-compile for different platforms and C# isnt officially supported on non microsoft stuff However you can use them both on different platforms Whether as with java you write it for one platform and your good to go[/QUOTE] There's official support from Novell. And for C++ there's clang and llvm.
[QUOTE=Richy19;24961950]C# isnt officially supported on non microsoft stuff[/QUOTE] C# is an ECMA standard, there is no such thing as it being "unofficially supported". Sure, Mono isn't written by the same guys who wrote the C# standard, but they comply to it as much as they can and they're implementing it just like MS is.
Every time I come here all I see is language debate. Just pick a language that you seem to like and once you learn one language, it's much easier to learn other ones. It's not like you can only know ONE language.
[QUOTE=gparent;24966392]C# is an ECMA standard, there is no such thing as it being "unofficially supported". Sure, Mono isn't written by the same guys who wrote the C# standard, but they comply to it as much as they can and they're implementing it just like MS is.[/QUOTE] Mono doesn't implement C# (although they have a compiler), they just implement CIL.
Moderator lock thread, Problem solved. Learning Python, Ordered a book.
If you want true ability for native cross-platform development, try C++.
1.Visual Basic 2.Python
[QUOTE=arienh4;24974065]Mono doesn't implement C# (although they have a compiler), they just implement CIL.[/QUOTE] :rolleyes:
[QUOTE=arienh4;24974065]Mono doesn't implement C# (although they have a compiler)[/QUOTE] Well, I wonder what the fuck that compiler is for, then. :smile:
[QUOTE=esalaka;24979366]Well, I wonder what the fuck that compiler is for, then. :smile:[/QUOTE] For compiling C# into CIL of course. It's part of the Mono Project, not part of Mono itself.
[QUOTE=arienh4;24979685]For compiling C# into CIL of course. It's part of the Mono Project, not part of Mono itself.[/QUOTE] Man, and I thought I was anal about proper terminology. I guess there's a level further beyond. Sorry for the [I]massive[/I] confusion there.
Oh that wacky arienh4
[QUOTE=gparent;24986476]Man, and I thought I was anal about proper terminology. I guess there's a level further beyond. Sorry for the [I]massive[/I] confusion there.[/QUOTE] It was a rebuttal to talking about how Mono implements C# or something. The point is that Mono and C# aren't exactly connected, except that Mono runs the CLR and compiled C# runs on the CLR.
[QUOTE=arienh4;24994568]It was a rebuttal to talking about how Mono implements C# or something. The point is that Mono and C# aren't exactly connected, except that Mono runs the CLR and compiled C# runs on the CLR.[/QUOTE] No, Mono is an implementation of the CLR. :downs: Also, hilariously: [quote]Mono An open source, cross-platform, implementation of [B]C# and the CLR[/B] that is binary compatible with Microsoft.NET[/quote] (Emphasis added)
[QUOTE=arienh4;24994568]It was a rebuttal to talking about how Mono implements C# or something. The point is that Mono and C# aren't exactly connected, except that Mono runs the CLR and compiled C# runs on the CLR.[/QUOTE] Dude. They have a C# compiler, and something else that compiles CIL to assembly at runtime. If that's not "implementing C#" to you, then I don't even know what terms to use for you to understand it. And I'm not going to spend hours arguing when clearly you're the only one who doesn't want to understand what I'm talking about.
gparent: Post above yours, second quote. Taken from the Mono Project website. Pretty much what you are saying.
[QUOTE=gparent;24997934]Dude. They have a C# compiler, and something else that compiles CIL to assembly at runtime. If that's not "implementing C#" to you, then I don't even know what terms to use for you to understand it. And I'm not going to spend hours arguing when clearly you're the only one who doesn't want to understand what I'm talking about.[/QUOTE] I know what you're talking about, I'm just saying that if they decide to give C# Smalltalk syntax for some reason, Mono will still support C# compiled binaries before they support the new language.
[QUOTE=arienh4;24998935]I know what you're talking about, I'm just saying that if they decide to give C# Smalltalk syntax for some reason, Mono will still support C# compiled binaries before they support the new language.[/QUOTE] ok? completely irrelevant but ok. Happy?
[QUOTE=arienh4;24998935]I know what you're talking about, I'm just saying that if they decide to give C# Smalltalk syntax for some reason, Mono will still support C# compiled binaries before they support the new language.[/QUOTE] And Mono will still support C#. Just not the C#½ or whatever version a C# Smalltalk would be o.O Just like C++98 != C++0x, though one would still say that g++ is a C++ compiler, though it cannot (yet) compile all of what is considered valid C++0x code.
If you want to start off easy and work your way into the harder languages, you can't get any easier than Ruby. It will help you get used to object oriented programming without worrying about the little details like data types and memory management. And Ruby on Rails is great fun for web development.
[QUOTE=Larikang;25000041]If you want to start off easy and work your way into the harder languages, you can't get any easier than Ruby. It will help you get used to object oriented programming without worrying about the little details like data types and memory management. And Ruby on Rails is great fun for web development.[/QUOTE] Is Ruby worth learning for people not interested in Rails? It looks like almost an exact clone of Python. With almost the same features and program flow, but with different names/symbols.
[QUOTE=gparent;24999104]ok? completely irrelevant but ok. Happy?[/QUOTE] The argument was about how well Mono supported C#, so it's completely relevant.
[QUOTE=arienh4;25001888]The argument was about how well Mono supported C#, so it's completely relevant.[/QUOTE] What? All I said was that mono implemented C# and (obviously) CLI, nothing more, nothing less, and that their implementation wasn't anymore 'unofficial' than Microsoft's, even though they aren't the reference implementation. As in, they're both implementing ECMA 334. Which, as you know, also requires implementing ECMA 335.
[QUOTE=ROBO_DONUT;25001302]Is Ruby worth learning for people not interested in Rails?[/QUOTE] Absolutely, it's not made with web in mind like PHP, it was simply popularized by Rails. [QUOTE=ROBO_DONUT;25001302] It looks like almost an exact clone of Python. With almost the same features and program flow, but with different names/symbols.[/QUOTE] In the early days of Ruby, when Python was still pretty young, it took inspiration from Python but wanted to make it more object-oriented. That's pretty much where the similarities end though. Ruby has a long history of embracing the functional programming paradigm, while Python has been more about imperative programming. In Ruby there exists a lot of different ways to do the same thing (ala Perl), while Python has always distanced itself from that. This is reflected heavily in the standard library as well. A lot of Python code can be directly translated to Ruby and many write their Ruby much like Python, but not much idiomatic Ruby can be directly translated to Python (mostly due to Ruby's blocks, open classes, instance_eval etc, list goes on forever. Ruby is full of "tricks", stuff that the Python philosophy shuns).
[QUOTE=jA_cOp;25013358]Absolutely, it's not made with web in mind like PHP, it was simply popularized by Rails. In the early days of Ruby, when Python was still pretty young, it took inspiration from Python but wanted to make it more object-oriented. That's pretty much where the similarities end though...[/QUOTE] Thanks for the good description of Ruby, but I somewhat disagree with your comparison between Ruby and Perl. Perl's "more than one way of doing things" has always appeared to me as bad language design. It feels redundant and its often not so much a question of which approach is best, but which approach the programmer is more familiar with (since the functional differences are usually insignificant). In Ruby, the "more than one way of doing things" isn't just plain redundancy. It's more often than not a result of Ruby including both the familiar programming conventions (e.g. "for" loops) while also including more elegant, modular approaches (e.g. blocks and iterators). If you're familiar with Perl or Python, it's entirely possible to program in Ruby in the exact same way that you're used to. However Ruby is capable of creating incredibly compact, modular, readable, beautiful programs in a way that other interpreted languages simply can't. If you're a "good" Ruby programmer, there really isn't more than one way of doing something: there's the old-fashioned, clumsy approach, and the elegant Ruby approach.
[QUOTE=Larikang;25032484]Thanks for the good description of Ruby, but I somewhat disagree with your comparison between Ruby and Perl. Perl's "more than one way of doing things" has always appeared to me as bad language design. It feels redundant and its often not so much a question of which approach is best, but which approach the programmer is more familiar with (since the functional differences are usually insignificant). In Ruby, the "more than one way of doing things" isn't just plain redundancy. It's more often than not a result of Ruby including both the familiar programming conventions (e.g. "for" loops) while also including more elegant, modular approaches (e.g. blocks and iterators). If you're familiar with Perl or Python, it's entirely possible to program in Ruby in the exact same way that you're used to. However Ruby is capable of creating incredibly compact, modular, readable, beautiful programs in a way that other interpreted languages simply can't. If you're a "good" Ruby programmer, there really isn't more than one way of doing something: there's the old-fashioned, clumsy approach, and the elegant Ruby approach.[/QUOTE] I'm not trying to compare Ruby and Perl as whole languages, personally I hate Perl (and love Ruby). But it's not an entirely unfair line to draw seeing how, in interviews, the creator of Ruby keeps comparing the "more than one way to do it" to Perl and how he took inspiration from Larry Wall. Also, I bet Perl people would also claim that the many different ways aren't redundant in their language either. Remember, it goes way beyond paradigms - for example; Ruby has all of Perl's regex match operator (=~), the Regexp class including a literal syntax, String#scan etc. in the end it all sums up to about a dozen ways to do the same thing. This kind of duplication of functionality appears throughout Ruby as it does with Perl. I don't know much about Perl personally, but I know that Ruby has undeniable Perl heritage. Many common Ruby idioms or tricks would be considered awfully hacky in more conversative languages like Python, but would probably be in line with the Perl spirit (but again, I don't know much about Perl). I think Ruby is very different. Perl smells a bit like a throw-up of as many features as possible with a C-style syntax for familiarity, while Ruby mostly innovates in addition to allowing people to pretend it works like a classic imperative language if they absolutely want to do that.
[QUOTE=jA_cOp;25033089]Perl smells a bit like a throw-up of as many features as possible with a C-style syntax for familiarity[/QUOTE] Having worked with Perl for years, I can vouch for this statement. Although it's what makes Perl so powerful, at the end of the day you either hate it or love it.
Visual Basic
For all it matters I knew programming concepts from many many books and tutorials before I could code. C++ gave me omega headache and it wasn't until I got to learning python that I felt liberated enough to call myself even a novice coder. I still am new to a lot but heh, javascript, python or ruby might be among the easier ones for basic stuff. Any interpreted language really for instant results.
Sorry, you need to Log In to post a reply to this thread.