Your Programming Language of Choice?

Discussion in 'Technical Discussion' started by Armada, Jul 24, 2008.

  1. Hodgy

    Hodgy

    Member
    797
    0
    16
    UK
    Games programming :)
    Pacal/Delphi and PIC ASM :D
     
  2. Conan Kudo

    Conan Kudo

    「真実はいつも一つ!」工藤新一 Member
    478
    1
    18
    <!--quoteo(post=210631:date=Jul 24 2008, 06:02 PM:name=Delta)--><div class='quotetop'>QUOTE (Delta @ Jul 24 2008, 06:02 PM) <a href="index.php?act=findpost&pid=210631">[​IMG]</a></div><div class='quotemain'><!--quotec-->I'm a fan of C# myself, but I also know a little C/C++ and Python. Before this I was into VB and QBasic.

    I really don't want to get into a big debate, but I think .NET/Mono and associated languages a little under-appreciated. It certainly doesn't have 100% the performance of native code, but for applications that don't need that 100% it's a choice to consider. Besides having a large base class library to use in your apps, you can use whatever language that can target .NET/Mono, and that includes C#, VB.NET, Boo, IronPython, IronRuby, C++/CLI, etc. And because it's language-agnostic, class libraries made in C# for example can be used in any other .NET language, and vice versa. No need to mess with header/lib files either.

    But, to be fair, I'll point out a couple major flaws: OS portability and deployment issues. For non-Windows OSes you can use Mono, but it's unfortunately always playing catch up to the changes Microsoft keeps making. And by the time they catch up, Microsoft makes a new release of the .NET Framework. Besides that you have the fact that people need to have .NET installed in order for such apps to function at all. It's not a *huge* problem especially if an installer can install it automatically, but it's not as fun when you want to distribute using .zip's or (insert archiving format here).

    For me, the disadvantages aren't enough to keep me from using C#/.NET. That, and the fact that I'm not particularly experienced with C/C++. But don't get me wrong; I don't hate native languages. In fact, I appreciate native code just as much as managed code... just that I use managed code as a personal preference. Ultimately you just need to use whatever tool fits the job. If managed code works, great. If native code works better, use that instead.

    No tl;dr, sorry. ;P<!--QuoteEnd--></div><!--QuoteEEnd-->

    In the case of C# and Mono, Mono is usually at the same level in terms of language features. However, in terms of libraries, it is playing catch up. Also, Mono has the unique feature of being able to compile .NET languages just like a regular compiler instead of JITing it and requiring the Framework.

    The programming languages I know of are NSIS, C, C++, some BASIC (QBASIC variant), some Visual Basic (only a little), some C#, some Java, very little ASP (used to know more, forgot most of it), and a tiny bit of PHP.

    My preferred languages would probably be C++ and C#. I don't dislike Java as a language all that much, but I dislike the JVM A LOT. I respect and appreciate the Mono project a lot, mainly because they bring something quite new to the table that I want to work with.

    With Phalanger and other projects, bringing in existing open source code and incorporating it into a Mono project got significantly easier...
     
  3. MarkeyJester

    MarkeyJester

    A D V A N C E Resident Jester
    2,101
    230
    43
    Japan
    I generally Prefer Motorola MC68000 above everything else, as it's the one language where I can actually write shit that makes member's jaws drop. I have a somewhat understanding of x86 and Z-80 (although I'm planning to look into more about Zilog programming), and I know a bit about C, well, at least enough to open files and modify them anyway (Though I'm not a fan of the language, so I often end up ripping my hair out frequently).

    EDIT:
    <!--quoteo(post=417209:date=Feb 26 2010, 09:22 AM:name=Hodgy)--><div class='quotetop'>QUOTE (Hodgy @ Feb 26 2010, 09:22 AM) <a href="index.php?act=findpost&pid=417209">[​IMG]</a></div><div class='quotemain'><!--quotec-->PIC ASM :D<!--QuoteEnd--></div><!--QuoteEEnd-->Oh you =P
     
  4. Chilly Willy

    Chilly Willy

    Tech Member
    747
    0
    16
    Doom 32X
    I get off on pretty much any assembly. Nothing beats coding directly in assembly on a 68000, Z80, or 6502. The x86 sucks as a CPU from the perspective of assembly language, but the AMD64 in long mode is a step up. :thumbsup:

    For low-level languages, I like C.
    For modular languages, I like Pascal.
    For higher-level languages, I like Python.
     
  5. DigitalDuck

    DigitalDuck

    Arriving four years late. Member
    5,130
    274
    63
    Lincs, UK
    TurBoa, S1RL
    I've used various forms of BASIC throughout my life, but over the last couple of years I've learnt C#, C++, Java, Z80 ASM, 65xx ASM, and 68k ASM. I still think imperatively when programming though, which is a problem for OO languages.
     
  6. Rainer

    Rainer

    Member
    383
    0
    0
    <!--quoteo(post=417192:date=Feb 26 2010, 03:58 AM:name=Sintendo)--><div class='quotetop'>QUOTE (Sintendo @ Feb 26 2010, 03:58 AM) <a href="index.php?act=findpost&pid=417192">[​IMG]</a></div><div class='quotemain'><!--quotec-->Plain old C and Scheme (the latter because my university makes me learn it). [emphasis mine]<!--QuoteEnd--></div><!--QuoteEEnd-->

    Are you an MIT student? Even if you're not, you should be very fortunate that you have a CS department that cares.
     
  7. Conan Kudo

    Conan Kudo

    「真実はいつも一つ!」工藤新一 Member
    478
    1
    18
    <!--quoteo(post=417327:date=Feb 26 2010, 11:17 AM:name=Chilly Willy)--><div class='quotetop'>QUOTE (Chilly Willy @ Feb 26 2010, 11:17 AM) <a href="index.php?act=findpost&pid=417327">[​IMG]</a></div><div class='quotemain'><!--quotec-->I get off on pretty much any assembly. Nothing beats coding directly in assembly on a 68000, Z80, or 6502. The x86 sucks as a CPU from the perspective of assembly language, but the AMD64 in long mode is a step up. :thumbsup:

    For low-level languages, I like C.
    For modular languages, I like Pascal.
    For higher-level languages, I like Python.<!--QuoteEnd--></div><!--QuoteEEnd-->

    Something is quite wrong with you stating that C is a low level language. Far from it. Low level languages are like Assembly and Verilog, where you use rather cryptic statements over humanlike function names and references....
     
  8. Sintendo

    Sintendo

    Member
    249
    0
    16
    <!--quoteo(post=417502:date=Feb 26 2010, 05:26 PM:name=Rainer)--><div class='quotetop'>QUOTE (Rainer @ Feb 26 2010, 05:26 PM) <a href="index.php?act=findpost&pid=417502">[​IMG]</a></div><div class='quotemain'><!--quotec--><!--quoteo(post=417192:date=Feb 26 2010, 03:58 AM:name=Sintendo)--><div class='quotetop'>QUOTE (Sintendo @ Feb 26 2010, 03:58 AM) <a href="index.php?act=findpost&pid=417192">[​IMG]</a></div><div class='quotemain'><!--quotec-->Plain old C and Scheme (the latter because my university makes me learn it). [emphasis mine]<!--QuoteEnd--></div><!--QuoteEEnd-->

    Are you an MIT student? Even if you're not, you should be very fortunate that you have a CS department that cares.
    <!--QuoteEnd--></div><!--QuoteEEnd-->
    If by MIT you mean Massachusetts Institute of Technology, then no, I'm not an MIT student. I go to university in Brussels.
     
  9. RamiroR

    RamiroR

    Member
    355
    0
    16
    Well, I love C, but I'm not good at it. The only language I actually know is Action script 2 (they fucked everything up after that), and it's not something exactly useful.:P
     
  10. Quickman

    Quickman

    be attitude for gains Tech Member
    5,593
    8
    18
    :x
    omg porjcet
    <!--quoteo(post=417640:date=Feb 27 2010, 04:47 AM:name=King InuYasha)--><div class='quotetop'>QUOTE (King InuYasha @ Feb 27 2010, 04:47 AM) <a href="index.php?act=findpost&pid=417640">[​IMG]</a></div><div class='quotemain'><!--quotec-->Something is quite wrong with you stating that C is a low level language. Far from it. Low level languages are like Assembly and Verilog, where you use rather cryptic statements over humanlike function names and references....<!--QuoteEnd--></div><!--QuoteEEnd-->
    No, C is low-level. You have to do your own memory management, for one thing, and it doesn't hold your hand when it comes to pointer math.
     
  11. NickW

    NickW

    Member
    My preferred language is C#, although I know some Java, C++, and 8086 assembly.
     
  12. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,719
    0
    0
    being an asshole =P
    <!--quoteo(post=417742:date=Feb 27 2010, 10:00 AM:name=Quickman)--><div class='quotetop'>QUOTE (Quickman @ Feb 27 2010, 10:00 AM) <a href="index.php?act=findpost&pid=417742">[​IMG]</a></div><div class='quotemain'><!--quotec--><!--quoteo(post=417640:date=Feb 27 2010, 04:47 AM:name=King InuYasha)--><div class='quotetop'>QUOTE (King InuYasha @ Feb 27 2010, 04:47 AM) <a href="index.php?act=findpost&pid=417640">[​IMG]</a></div><div class='quotemain'><!--quotec-->Something is quite wrong with you stating that C is a low level language. Far from it. Low level languages are like Assembly and Verilog, where you use rather cryptic statements over humanlike function names and references....<!--QuoteEnd--></div><!--QuoteEEnd-->No, C is low-level. You have to do your own memory management, for one thing, and it doesn't hold your hand when it comes to pointer math.<!--QuoteEnd--></div><!--QuoteEEnd-->No, low-level is assembly, high-level is anything more friendly.

    Actually, I was thinking about this the other day, and to be fair "low-level" and "high-level" is outdated. I mean, I can think of seven levels right now:<ul><li>Assembly</li><li>Procedural languages (like C)</li><li>OOP-like languages (like C++)</li><li>Languages with automatic memory management (like C#)</li><li>Scripting languages with full duck typing</li><li>Functional languages</li><li>Data-driven languages</li></ul>Maybe we need new terminology here...

    By the way: I like C, but using C, C++, javascript, 68k asm and Z80 asm, all of them right now (oh god...).
     
  13. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    18,665
    614
    93
    Berkshire, England
    Learning Cymraeg
    The way I was taught, ASM was low level, C was medium, and C++, VB, Delphi, etc etc are high level. *shrug*
     
  14. Spanner

    Spanner

    The Tool Member
    3,341
    142
    43
    United Kingdom
    Sonic Hacking Contest
    I don't know much, all I really know is x86 ASM (which I always forget) and VB (which I always forget).
     
  15. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,719
    0
    0
    being an asshole =P
    <!--quoteo(post=417841:date=Feb 27 2010, 04:57 PM:name=Overlord)--><div class='quotetop'>QUOTE (Overlord @ Feb 27 2010, 04:57 PM) <a href="index.php?act=findpost&pid=417841">[​IMG]</a></div><div class='quotemain'><!--quotec-->The way I was taught, ASM was low level, C was medium, and C++, VB, Delphi, etc etc are high level. *shrug*<!--QuoteEnd--></div><!--QuoteEEnd-->Nah, it's just that some people call C "medium level" because what you write is exactly what you get. C does exactly what you write, while things like C++ do some things behind you to make it easier.
     
  16. SegaLoco

    SegaLoco

    W)(at did you say? Misfit
    For me, 68000, Z80, and 80x86 assembly, C, C++, Java, HTML (as if that could even count =P), and some C#, although I wonder why I ever tried to learn that language.
     
  17. Chilly Willy

    Chilly Willy

    Tech Member
    747
    0
    16
    Doom 32X
    C is about a low-level as you can get without using assembly. I don't consider assembly in the same genre as languages since they are separate - assembly is related to a particular CPU while languages are not. C is C, whether it's on a 68000, x86, or a SPARC. So I only use the terms "low level" or "high level" when talking about languages. Saying assembly is low level is like saying atoms are low level. :)

    Anywho, for languages, low level means C or FORTH, where operations map almost 1:1 to assembly language. They are languages that don't constrain the programmer from anything they could do in assembly (or almost anything). Higher level language add additional layers of constraints on the programmer in an effort to make the program "safer" or perhaps more abstract. You want to poke any old byte of memory? In C you just do something like *(char *)0x20001010 = 15; You just poked 15 into a random byte... try THAT in a high level language! :)
     
  18. SegaLoco

    SegaLoco

    W)(at did you say? Misfit
    My view on C being low-level is that you could consider it to be a portable assembly language in a sense. It provides several facilities used in assembly language such as address arithmetic, and many other things. There is a point where messing with that stuff will render it less portable, but still, being able to work with addresses independent of machines and still do a fucking reliable job with it is pretty amazing. Plus, C can interface directly with assembly, I have NEVER seen any other language that you can just throw bits of assembly into. (The again, I haven't used many)
     
  19. FraGag

    FraGag

    Tech Member
    <!--quoteo(post=418338:date=Feb 28 2010, 04:09 PM:name=SegaLoco)--><div class='quotetop'>QUOTE (SegaLoco @ Feb 28 2010, 04:09 PM) <a href="index.php?act=findpost&pid=418338">[​IMG]</a></div><div class='quotemain'><!--quotec-->I have NEVER seen any other language that you can just throw bits of assembly into. (The again, I haven't used many)<!--QuoteEnd--></div><!--QuoteEEnd-->
    You can have inline assembly in Pascal too (I know Delphi allows it, at least).
     
  20. Covarr

    Covarr

    Sentient Cash Register Member
    4,233
    3
    18
    Trapped in my own thoughts.
    Two stageplays, a screenplay, and an album
    C++. I just love it. It's beautiful.

    But programming bores me. I'd rather spend a few hours writing CSS.