• 0

Favorite programming language?


Favorite programming language  

149 members have voted

  1. 1. Whats your favorite programming language?

    • C
      10
    • C++
      10
    • C#
      46
    • Java
      24
    • Visual Basic .NET
      11
    • BASIC
      0
    • Assembly
      6
    • Perl
      4
    • shell script
      1
    • PHP
      19
    • HTML
      4
    • Flash
      1
    • Powershell
      0
    • Python
      7
    • Pascal
      2
    • ASP
      1
    • XML
      0
    • Ruby
      0
    • Ada
      1
    • Delphi
      2


Question

Im well aware that some of the options listed are accually "family" but hey you have to give options :)

If I missed a important one, please go ahead and say it and Ill add it :)

Thanks jimbo11883: Forgot to mention that.

Some "languages" here arent actually programming languages but ,in say HTML, you can make a simple tic-tac-toe program :) Lets count them anyhow unless someone is against it.

Added Ruby and Ada :)

Added Delphi

Edited by funciona
Link to comment
https://www.neowin.net/forum/topic/635796-favorite-programming-language/
Share on other sites

Recommended Posts

  • 0

@funnyperson:

I agree with most of what you said but not when you talk about C. It so happens that I got an internship in a software company that does low-level software for mobile devices, and what I work on and what I've seen is all C++. Also, C doesn't have classes, so it's not because you can make a good C program that you know how to make a good object-oriented design and that's crucial if you're going to be a software designer. In fact, I think the problem that requires most talent and experience to solve is to come up with a maintainable, flexible and minimally complex architecture, that also has excellent performance (especially when you're dealing with mobile). A good C programmer certainly has in-depth implementation skills but he might come up with naive designs considering the rich set of possibilities offered by C++.

Dealing with pointer arithmetic is generally considered bad practice and in the industry you want to avoid that. Get a design that will avoid having to cast stuff all over the place, and if you really need the casts, use safe ones (at least static_cast).

  • 0

Autohotkey. Because I can write programs in less than quarter of the time needed to perform the same task in C. I mean, displaying a message box is as simple as typing "MsgBox hello world!" . No need for any declarations, #includes, no case sensitivity, no compilation, no dependencies.. and the best part: no need to install any bloated runtimes or frameworks. :)

Sure, it may not be as powerful as C, but then, I don't need it to. On sites like scriptlance and rentacoder, I bid for C/C++/VB projects and I'm usually able to complete the app in AHK and post a demo version while placing the bid, while the others take around a week to complete using traditional languages! Very few people have so far rejected my work (because it was done in AHK as opposed to C/etc), while most were impressed because of the really short duration and have added me in their good-books. Now I get projects without even having to place a bid, thanks to the contacts I've made, thanks to AHK.

  • 0
1. C++

2. C#

3. Pascal/Delphi

I mainly program in c++ because i can't stand the .NET framework.

C++ is more confusing then C# sure, but you limit yourself to Windows only apps unless theres a .NET framework for Linux that i haven't heard of yet.

right now i'm learning cross platform apps, mainly for a Server app i'm working on..

only bad thing i have with C++, is unless you have Visual Studio theres no really good IDE, Dev-C++ is nice, but i want auto completion that doesn't suck.

There is, its called Mono and if i recall correctly its also available for Mac OS. You can use MonoDevelop to code under linux.

  • 0
what I work on and what I've seen is all C++.
Just to clarify, that's not exact, there's also quite a bit of Java, but I'm not sure what actually runs on the devices and what runs on the server side, I'm still pretty green there. In any case if they do run Java applications on mobile devices it only proves my point further.
  • 0
@funnyperson:

I agree with most of what you said but not when you talk about C. It so happens that I got an internship in a software company that does low-level software for mobile devices, and what I work on and what I've seen is all C++. Also, C doesn't have classes, so it's not because you can make a good C program that you know how to make a good object-oriented design and that's crucial if you're going to be a software designer. In fact, I think the problem that requires most talent and experience to solve is to come up with a maintainable, flexible and minimally complex architecture, that also has excellent performance (especially when you're dealing with mobile). A good C programmer certainly has in-depth implementation skills but he might come up with naive designs considering the rich set of possibilities offered by C++.

Dealing with pointer arithmetic is generally considered bad practice and in the industry you want to avoid that. Get a design that will avoid having to cast stuff all over the place, and if you really need the casts, use safe ones (at least static_cast).

I wasn't trying to say that learning C teaches you everything you need to know about programming high-level object oriented programs. I do believe that the low-level understanding of how the machine works and what's going on behind the scenes is valuable for any programmer. I believe that if you abstract away the machine too much you often end up with poor performance. Also many of the good design principles of object-oriented languages such as encapsulation and modularity can and should be followed as much as possible when programming in C.

As a computer engineer undergraduate we learned C++ and then moved to C as our focus became lower level. I noticed that generally the computer engineering students had an easier transition to high-level java and low-level C (Operating Systems class) than the CS majors did from Java to C++ or C (same OS class).

When I say embedded systems I can speak only of the ones I have experience with. As of now that includes Motorola's HC11 (admittedly obsolete), TI's MSP430 (widely used in low power embedded systems), and TI's Davinci (relatively powerful ARM processors with built in DSPs). The MSP430 is exceedingly simple and I actually coded a lot of stuff in assembly, using C only for floating point libraries. I don't think that the MSP430 Compiler even supports the full C++ standard. The Davinci on the other hand is running Linux and I've been writing drivers for custom hardware. I suppose I could use C++ for this, but since the kernel interfaces I will be working with are written in C, I see little point in it.

As far as Cell Phones I would think that most coding at the driver level would be in C, but for applications C++ is used. I could be wrong though.

  • 0

@Niels.

Thanks, never heard of Mono before.

@Dexter

C++:

#include <windows.h>

int main(){
  MessageBox(NULL, "Hello World", "Title", MB_ICONEXCLAMATION | MB_OK);
  return 0;
}

took less than 30 seconds to type that up. and is 16KB in size.

but to each his own, i'd personally spend a little more time getting something to work natively and efficiently.

  • 0

C is beautiful. Screw classes. C++ is not the answer to OOP for C. Objective-C is/was but it's basically been relegated to the world of Apple and the Cocoa framework. Is C the best ever? No, because it is a dangerous language due to its lack of type safety. Pointers also still suck.

I have the most experience with C++ but I wouldn't call it my favorite language by any measure. C++ is one of those languages where you need to be an expert in it to get any meaningful work done. Pointers are just one of the pitfalls for many people. The syntax is ugly and kludgy at times, and will only get worse with C++0x. You need to have the Bjarne Stroustrups C++ Handbook around if you plan to do serious programming because there is always some little technicality you never knew about.

Java is nice for getting work done, but I would gouge my eyes out after looking at someone else's Java code for more than a few hours. The language is to verbose, I don't need huge and explicit names for every method. Plus, Java seems to encourage a lot of terrible coding practices and styles.

I have limited experience with C# so I won't say much on it. But if the language is anything like Java then it probably suffers some of the same problems.

No experience with VB.NET but i've read its basically the same language as C# just with a different syntax. Seems redundant.

Does anyone even write real commercial or widely used code in BASIC anymore? Please say no...? That is probably to much to ask.

Assembly = Respect.

I had a PHP love phase about five years ago where I hated Perl and left it for dead. However, PHP in reality is an ugly language and Perl still reigns superior.

Python is a beautiful language. It's clean and modern feeling. It abandoned the C syntax for what I think is a friendlier and more readable style. Further it's not so verbose like Java that you want to gouge your eyes out after reading it for a few hours. I don't have a ton of experience with it the language.

Never used Ruby, Ada or Delphi. Have heard good things about Ruby.

So what is my favorite language? Hell, I still don't know. If I say C++ I remember all the times I've been burned by it's technical details. Maybe Python? But I am not experienced enough with Python to give a fair response. Based on pure simplicity, I would have to say C even though it's about as safe as a rusty nail sticking up from the floor. Anyone can write C code, it's a compact language that is easy to learn.

To each is his own though!

  • 0

My favourite language is Assembly. I'm coding with MASM for one reason... Sky is the limit when it comes to small and fast PE.

I hate frameworks (Java, DotNet, VB6) because I don't like the idea that someone is doing most of the job for me. I'm a control freak at its worst level.

  • 0

I've only heard good things about Python (except about its performance maybe), and it's the language that intrigues me the most. I can read all C-like languages I've come across as well as BASIC-like languages, but not Python. But I've so much work to do with C++ and then Java and then C# that Python might be relegated to another life, so to speak.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Got it. Seem like a good improvement. Thanks. But, before we "Add the source to Trusted Sites," how would know if it is trusted or not? Could get messy for not first Knowing" it is clean. See what I mean?
    • AB Download Manager 1.9.0 by Razvan Serea AB Download Manager is an open-source, feature-rich download manager designed to accelerate downloads, organize files efficiently, and provide seamless control over downloads. With support for multiple connections, resume capability, and an intuitive interface, it enhances the downloading experience for users seeking speed and reliability. The software integrates with various browsers, enabling quick link grabbing and batch downloading. It supports HTTP, HTTPS, and FTP protocols, ensuring broad compatibility with different file sources. Users can schedule downloads, set speed limits, and categorize files automatically for better organization. AB Download Manager is lightweight yet powerful, making it a great alternative to proprietary download managers. Its open-source nature allows developers to contribute, customize, and improve the software as needed. Whether you're downloading large files, managing multiple downloads at once, or seeking an ad-free experience, this tool offers a practical and efficient solution. Key features of AB Download Manager: Multi-Connection Support – Accelerates downloads by splitting files into multiple segments. Resume Capability – Allows paused or interrupted downloads to be resumed without starting over. Batch Downloading – Supports downloading multiple files at once for improved efficiency. Browser Integration – Captures download links directly from browsers for seamless operation. HTTP, HTTPS, and FTP Support – Ensures compatibility with a wide range of file sources. Download Scheduling – Enables users to automate downloads at specific times. Speed Limiting – Lets users control bandwidth usage for optimized performance. File Categorization – Automatically organizes downloaded files into designated folders. User-Friendly Interface – Simple and intuitive design for easy navigation. Cross-Platform Compatibility – Works on multiple operating systems. Ad-Free Experience – No intrusive ads or tracking for a clean user experience. AB Download Manager 1.9.0 changelog: Added Czech language support User-friendly error messages for download errors (#1252) An option to remember the last selected queue and quickly add downloads to it by long-clicking the Add button ( #1246) An option to export/import downloads using JSON format A Download button on the multi-download page for cases where users do not want to start downloads without queue processing (#1247) The app now includes a logger that can be enabled using a command-line flag (#1226) Startup errors are now logged automatically to help diagnose initialization issues Changed The default unqueued "Max Concurrent Downloads" value has been changed from "Unlimited" to 3 (This can be customized in the app settings) Improved Updated translations Added an indicator on the Android main page when resume is not supported (#1248) Extract the file name from the download link as a fallback when no response information is available (#1209) Minor UI/UX improvements Download: AB Download Manager 1.9.0 | Portable | ~80.0 MB (Open Source) Download: ARM64 | Portable ARM64 | Android Links: AB Download Manager Website | Github Page | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • I just started using Teams (and “New” Oiutlook) at work (instead of Slack) and both are truly abysmal pieces of software.
  • Recent Achievements

    • First Post
      DragonOfMercy earned a badge
      First Post
    • First Post
      bella52 earned a badge
      First Post
    • Reacting Well
      Techinmay earned a badge
      Reacting Well
    • Collaborator
      WndSks went up a rank
      Collaborator
    • One Month Later
      Sopa flores earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      488
    2. 2
      PsYcHoKiLLa
      205
    3. 3
      +Edouard
      152
    4. 4
      Steven P.
      83
    5. 5
      ATLien_0
      71
  • Tell a friend

    Love Neowin? Tell a friend!