What is a current easy programming language?

DarkCyber

[H]ard|Gawd
Joined
May 14, 2003
Messages
1,273
I use to program some back in the days of DOS Basic and Visual Basic and haven't really done much in the last several years. I am interested in doing some again and wanted to know what would be a fairly easy current language to write a few applications with? Suggestions appreciated.
 
If you are familiar with programming concepts I dont see why you cant pick up any modern language without an issue.
Someone might say python but if you are familiar with Visual Studio which I assume you would be coming from a VB background, I would say C#.
 
What are you planning to work on? Some languages are better suited for it than others (no matter what it is you want to build :)
 
What are you planning to work on? Some languages are better suited for it than others (no matter what it is you want to build :)

I am going to write something that will auto play music from an audio library, kind of like a radiodj type program. I know there are tons of programs out there that do this, but I am wanting to write one customized to my flavor for specifics that I need. But that is the basic concept
 
python is currently the most taught language in school, probably for a reason other then free, i mean they are giong to that FROM java so i'd start with it? probably could find massive amounts of free material online. Otherwise C#, microsoft has a metric fuckton of help out there. Or c++ you could use the GCC compiler and its so old theres lots of stuff out there. Its still wicked fast and there are big time financial guys trying to convert their people from using fortran to C++ since its faster.
 
python is currently the most taught language in school, probably for a reason other then free, i mean they are giong to that FROM java so i'd start with it? probably could find massive amounts of free material online. Otherwise C#, microsoft has a metric fuckton of help out there. Or c++ you could use the GCC compiler and its so old theres lots of stuff out there. Its still wicked fast and there are big time financial guys trying to convert their people from using fortran to C++ since its faster.

Ok, thanks for the suggestions. Yeah, I was kind of looking for something on the economical side and without a massive learning curve and something that runs good on the new OS's...i.e. Windows 7, 8...etc. I took Fortan back in my college days but don't know I remember any of it...lol!
 
I'd stick with something that has a payoff after you learn it like Ruby since you can apply it with Metasploit or Java for Android development.
 
I'd stick with something that has a payoff after you learn it like Ruby since you can apply it with Metasploit or Java for Android development.

There's reasonable potential for "payoff" with any of the dozen or so most common languages. Listing off some frameworks or development targets isn't a good justification for him to learn a particular language, unless they are specific goals of his.

Apparently he wants to write an audio player; is ruby a good choice for that?
 
Its still wicked fast and there are big time financial guys trying to convert their people from using fortran to C++ since its faster.

There are lots of good reasons why one might switch from Fortran to C/C++, but I don't think speed is one of them.
 
Apparently he wants to write an audio player; is ruby a good choice for that?

Ruby should be able to do that just fine, but....honestly if you go pick any of the currently popular languages at random, you're going to have a hard time finding one that won't be a good choice for that. Ruby will work. C# will work. Java will work. Python will work. Even C++ will work.
 
Ruby should be able to do that just fine, but....honestly if you go pick any of the currently popular languages at random, you're going to have a hard time finding one that won't be a good choice for that. Ruby will work. C# will work. Java will work. Python will work. Even C++ will work.

I don't think it's as easy as you make it seem to be. You also seem to have it the other way around.

C/C++ will definitely work. That's because audio encoders and decoders are usually written in C. If there is no decoder for some language, then what? Write your own? Good luck with that.
 
C/C++ will definitely work. That's because audio encoders and decoders are usually written in C. If there is no decoder for some language, then what? Write your own? Good luck with that.

I would imagine bindings exist for all languages if not something mostly native.
 
C++ does not qualify as an "easy language", in my opinion. Any language in which a protected abstract virtual base pure virtual private destructor is a thing could not possibly qualify as "easy" :)

I'd like to hear some explanations as to why Ruby is being suggested for this, though. If you're going to make a language recommendation, explain why you make that recommendation. For what reasons is Ruby a good choice for writing an audio player?
 
protected abstract virtual base pure virtual private destructor

That's certainly a long string of words that might confuse somebody, but it isn't a construct that one needs to be familiar with in order to program in c++, and when you do want it you'll be glad it's there.

Agreed on people giving relevant reasons for their suggestions.
 
I would choose C++, but that is because I like it.

You could even do something with AutoIT script if you wanted to. Just make an interface for a current player that can be controlled by command line commands and program the logic you want that is not there. It is simple to use.. there is lots of documentation, and samples you can look at. Interfaces are super easy to make with it.

I picked it up because of a specific front end that was made with it that I wanted to work in Windows 7. That interface is DiskPartitioner.

Now with C++ or any other language, you would be fine as well.. it would just take a bit more work if you are going to start from the ground up.

You can always find an open source program and modify it to your liking.

No reason to reinvent the wheel for something like an audio player.
 
If there is no decoder for some language, then what? Write your own? Good luck with that.

Use interop services and load the native library like a big kid? Write a small C++ component and call it from your non-C++ app? There aren't good libraries for a lot of things like high performance math or image processing or audio/video encoding/decoding in a lot of languages, and yet the world turns, because it's not usually a difficult problem to solve.
 
Loading a C library is a reasonable solution; however unless this is handled automagically with no downloading, compiling, etc., it may be unwanted complexity for a beginner.

I assume there exists a development environment where it is possible to write an audio player without ever leaving the IDE.
 
It's all easy once you know how it works.

Python is a decent choice because you have cross-platform compatibility and it's fairly widely used even in the industry. Easy to learn because it's very close to natural language so reading code others wrote makes a lot more sense a lot earlier.
 
Yeah.. you're going to get a BUNCH of different answers here, and most are going to be given upon the person's familiarity towards it, and their personal opinion... not because they love you ;) (programming languages are like politics!) Even though there are *probably* pre-written audio libraries for C++ like you would need, using those libraries to produce an audio program is still an extremely complex task, in my mind. C++ is a low level language, so virtually nothing is done for you (like in the higher level languages). As someone else suggested, you can learn a high-level/modern language just as easily as you can learn a low level/older language (don't let the terms scare you, as "high level" is usually considered easier - not the other way around, like you'd think). High level languages (like javascript or PHP), are actually *easier* and less work because they have pre-written functions that do things for you (Like write to files in one line of code). You said you did some programing back in the DOS days, so I'm assuming it was BASIC (which *already* taught you enough programming to learn *any* language, IMHO). Remember how you had to basically tell BASIC to do EVERYTHING? Like to center something on the screen, you had to get the length of the current line, subtract the length of the text your inserting, and then divide it by 2? Well, in higher-level languages, that's all done for you (Like in HTML, you just type: <center>. The guys who wrote HTML did all the coding for "<center>" for you, so you don't have to divide by 2 and all that. Even though HTML isn't a high level language, AFAIK, you get what I'm saying). That's why I'd recommend javascript (or JQuery - same thing - I'll explain below). JS is powerful enough to do pretty much everything (it can even interact with the filesystem/use files, in the case of NodeJS), and has the added bonus of using the web browser as a GUI/interface/console-debugger to make things easier visually (Technically, HTML would be making the GUI in the browser... but if you don't know HTML, learn THAT first). For JS or JQuery, you only need Notepad (Notepad++ or Sublime text can make it easier by autocompleting code syntax, though). Also, If you go with GCC (C++), you're not going to have any GUI for your program unless you use Visual C++ or use another IDE/compiler (like Eclipse)... you'd be working with the command line. Javascript is also more universal, so you can run your stuff anywhere as long as it has a browser.

The problem with C++ (from what I see, although I haven't used it extensively first-hand) is that there aren't as many of these libraries as there are for a language like javascript (you'd think it'd be the other way around). Going along with that, there doesn't seem to be as many tutorials or examples of things in C++ as there are in jquery or javascript.. so learning it might take a little longer. While C++ *is* faster, I think that speed comes at the cost of a higher learning curve (especially for somebody who hasn't had much programming experience). I think speed is becoming a non-issue for most programmers anyway, since computers are able to run simple javascript programs just as *noticeably* fast as they could run the same exact program in C++). in C++, you'd be doing the "divide by 2 to center" mess that I described above... although that gives you a lot more control over things sometimes.

Going even further, JS also has libraries (like the guys just mentioned, that C++ has) where entire projects can be done for you (for example, a music player - so you don't need to write that part for your program) or possibly other pre-written scripts to do to certain things where you just basically plug in variables/parameters and insert it into the body of your program to make it work (this way you're not "reinventing the wheel - as somebody has said).

Here is a list of libaries (mostly Jquery, which IS javascript) that are audio players people have already written.

With that being said, there is a pre-written library called JQuery (like in the link above to the audo player examples) which basically makes javascript programs/scripts easier to code. While some people would disagree and say javascript should be learned first (It should be, if you're going to learn JS sometime), you could literally get away with ONLY knowing jquery (and HTML, as long as it's not your career in life), and be able to produce the same exact types of things (video galleries, audio players, animations, etc). To make what you're describing in JQuery probably wouldn't take longer than a few weeks from no knowledge at all. JQuery runs ONLY in the browser, though, compared to JS which can run on your computer or in the browser.

It's good that you have a specific goal in mind, but chances are, you're not going to reach that goal in C++ anytime soon, unless you do find a specific ready-to-run library for that task. In JQuery, I think you have a *good* chance of learning and piecing together the different parts of your program using libraries and different code snippets you find on the web. A lot of people who implement and use jquery, do not even know javascript.. but essentially it's the same language (and produces the same results) but it's just easier and uses different commands (JQuery was *literally* written to be easier than JS and more compatible across browsers, and can be used alongside, but not interchangeable, with JS). Any language, however, is going to take extensive searching, googling, head-banging-against-desk, and error-fixing.

I just felt like everyone telling you to learn C++ was throwing you under the bus, even though a lot of folks have probably learned it before any other language. I think a lot of people are afraid of newcomers learning a little bit of code, finding out about all these pre-written JQuery libraries (probably that those same people put a lot of work into developing), and non-coders taking over the world. However, maybe they're just showing you some "tough love" because it would definitely be worth it in the end... but like jimmyb just said: C++ is going to have a lot of "unwanted complexity" for a beginner.

Also.. It takes a lot of effort to learn these languages, so don't feel bad if people give you a hard time when asking for help.. after a while they'll see you putting effort into it. Although I think in this thread, people just seem to favor C++ ;)

Edit: Like Jimmyb also said.. with C++ you're going to have a lot more things to do besides write code, such as compiling, getting your C++ code to run, etc. While C++ is definitely capable (and may be better suited for it), so are many other languages that don't have all the "gotchas", compiling, etc... and if you're not going to go C++... then why not JS or JQuery? Unless control over the code, or performance is an issue.. JQuery or JS would perform just as well as any of the other languages for this on modern hardware, but would just be easier to write/maintain.
 

My understanding (having only briefly touched it years ago) is that JS and JQuery are primarily geared towards developing web applications.

Is this a good choice for someone if they want to develop standalone applications? Maybe this is acceptable to the OP, but if not then it is a pretty big consideration to go unstated.
 
In fairness, the OP never outright stated this would be a desktop application. It was implied, but never outright stated. A web-based player may be adequate, in which case jQuery could be useful for DOM manipulation.

I asked the OP whether this would be a Windows application and no response was rendered, so anyone's guess is as good as mine.
 
It may be acceptable; however given that we don't know, I think any JS + jQuery recommendation ought to come with that caveat in big red letters.
 
Thanks for all the suggestions. The program I plan on writing will be a bit more in-depth than just an audio player but that is the main jest of what I am doing. See I have been out of programming so long some of the suggestions made in this thread I've never heard of...lol! C++ is still hanging in there seems like. I never made the jump to any of the C languages back in the day. Just looking for something easy, economical, and that will run on the current day OS's 32 and 64 bit.

Out of all these suggestions which of these has to most online support...i.e. tutorials, videos, help forums...etc.?

EDIT: I am wanting to develop a desktop application to run on the actual computer...not web based. I know back in the days of working with Visual Basic the C languages seemed to have a high learning curve and you had to code everything yourself...like someone stated in a post. Sounds like that still hasn't changed much. Is Visual Basic still around?
 
Last edited:
Thanks for all the suggestions. The program I plan on writing will be a bit more in-depth than just an audio player but that is the main jest of what I am doing. See I have been out of programming so long some of the suggestions made in this thread I've never heard of...lol! C++ is still hanging in there seems like. I never made the jump to any of the C languages back in the day. Just looking for something easy, economical, and that will run on the current day OS's 32 and 64 bit.

Out of all these suggestions which of these has to most online support...i.e. tutorials, videos, help forums...etc.?

EDIT: I am wanting to develop a desktop application to run on the actual computer...not web based. I know back in the days of working with Visual Basic the C languages seemed to have a high learning curve and you had to code everything yourself...like someone stated in a post. Sounds like that still hasn't changed much. Is Visual Basic still around?

Go with C# or C++. C# is the most used language and you'll find plenty of online support as well as if you do have a snag you can post on stackoverflow and you'll get an answer within a few hours or day at most (as long as you write a good post)
 
Go with C# or C++. C# is the most used language and you'll find plenty of online support as well as if you do have a snag you can post on stackoverflow and you'll get an answer within a few hours or day at most (as long as you write a good post)

By what metric is C# the "most used language"? Most attempts to quantify this that I've seen put it somewhere in the range of 5th to 10th.

Stackoverflow, while useful, is not a C# specific resource; so not really useful in guiding language choice.

Past a certain threshold, I'd be hesitant to make a language recommendations based on its popularity.
 
Last edited:
Just looking for something easy, economical, and that will run on the current day OS's 32 and 64 bit.
In that case, I'd use Python. With it, you'll be able to write a desktop app that targets all major OSes relatively easily, it's a simple language with a good standard library, has a good package management system and it's free to use. Caveats include a heavyweight runtime and relatively low performance.
 
If you're on windows and want to play some media files just Visual studio and C#, it'll get you going a lot faster with a lot less headache.

Once, you know a little C# (and you feel inclined) you can move onto Java, JS, C++, whatever...
 
python or ruby

javascript is damn easy because you can just fire up a web browser and go to town and debugging is pretty easy and HTML5 and canvas + javascript can make for some really nice pages.
 
I've done a bit of Assembly/C/C++ and Matlab for college. Matlab was my first language, C was my second, assembly my third and C++ my fourth. Then I also briefly experienced C# and Java... kind of. Here:

Obviously you don't want to use assembly for this. The only thing I used it for is... somewhat basic stuff, complex conceptual problems, and running very basic programs on a VHDL simple computer. It's just too low level. You'll get done and you'll have perfect control, but you'll be 60 years old.

You don't want to use Matlab unless you're interested in audio manipulation and DSP. It's great for learning DSP and other complex math crap (pretty easy to learn, too), but it's very slow and it's not suited for real time processing. Most of the GUI's my professors made with it were uh... slow. Slow. Again good for learning DSP and Computer Vision if that's your thing though. Computer Vision is certainly economical as a field. You probably need a full major in it, though. It's complicated.

C is a bit difficult because you have to manage your memory and you have to really understand pointers. Past that, it's not too bad but it's very unforgiving. And it's low level.

C++... I never got into the object oriented stuff on C++ too much, I just used it for mbed and working with the OpenCV library for one other class (and some Phidgets). I think with object oriented programming it's not too bad as long as you load up the correct libraries. The problem is you're not really learning the language then. Well depends on the library, too. OpenCV is a pain in the butt no matter what, lol. But you can do some really cool stuff with it. We basically created an application where you drew stuff. One of the other groups was using a Kinect library from Microsoft. It did cool stuff a lot easier than ours did cool stuff, because it was probably much more high level than raw OpenCV and there were a hell of a lot more paid people working on it than there were in our group (0). Anyway there is very likely to be an audio library for C/C++, but the main problem is probably gonna be dependencies and making a GUI. I don't know how easy it is to make a GUI in C++....

Then I was in a group project briefly where we used C# to create a program with a gui. This program recorded libraries and did some audio filtering and played back sound and stuff. One of our members was doing a COOP somewhere where he used C#, and he coded it pretty handily. I was just looking on most of the time, but there wasn't THAT much code once he loaded in the sound processing library correctly. I didn't really understand it very well but Visual Studio (or whatever IDE he was using) tends to make things easier. The problem you run into is packing dependencies when it comes to these audio libraries. We had to install a 3xx meg library every single computer we wanted to use this thing on because we couldn't figure out how to pack the dependencies in with the program in time (we didn't have terribly long to do this). So you might have some issues. Choose your sound library carefully. Aside from that though considering I personally witnessed someone implementing this in the span of less than a week (experienced or not), I have to say that it's probably one of the easier choices. Just be careful with the dependencies... and there were some problems with certain parts of the program when it comes to threading or something... it's been too long. Just some gui elements run in different areas than others or something.

Oh, and there was another group I was in where were these silly CS majors (I was CE) that tried to be to be too ambitious and use Java to do real time DSP to make music frequency-based levels in a GUI program, when they had no experience with DSP. I already had a MATLAB-based solution in place that wasn't real time, it just generated "levels" for the music for our Java game to use. They ended up using my solution because they just couldn't get that Java solution playing. If you wanna make a game, it looks like it was pretty simple to use for making the game itself, so Java might not be a bad idea. GUI's in it seem to not be too big of an issue, too. It could just be that the guys I was with weren't too good at DSP so they didn't understand how to use the library. You might wanna look into it.

For work, I use Perl, PHP, and Javascript fairly extensively. I do all the scripting in Perl and then make frontends and other things using PHP and Javascript. I've been using JQuery and its many AJAX/event helpers for pretty much everything.

I think you could definitely use Perl for this. It's probably a bit more complicated than Python and some other higher level language (though I have never used Python), but it's pretty fast for a high level language (go look at language benchmarks online). All of my Perl is command line, but there look to be GUI libraries for it, and there are most certainly audio libraries for it. You just have to dig them up because CPAN is a bit of a mess. Maybe someone else can weigh in on this, because I most certainly don't use it to decode MP3's at work. <.<


As for web frontend for it... eh... I mean most of the ones that are compatible with older browsers are in Flash, I think. So... you'd pretty much be making this in Flash. HTML5 isn't compatible with our corporate browser (IE8 FML) so I don't have much experience with its new features. Supposedly it has built in MP3 helpers and crap or something, but... eh. I think if you were using pure web for this... like as in no flash or HTML5... you'd probably have to use CGI. You'd need language on the backend to convert any files you have that are incompatible before sending an OK to your web interface that you have an equivalent file in whatever format you'd need, and then dynamically creating the tag for the sound? Probably? Dunno, never tried making a music player. I'm just guessing that's how you'd do it. Different browsers have different compatibilities.
http://www.w3schools.com/html/html_sounds.asp

I think that wraps it up. Pick your poison.
 
Last edited:
Visual Basic or Java. If you want to get a little fancy check out C#. Regardless, look at the BASS audio library.
 
Hi DarkCyber, if you ever come back I've put together this helpful summary for you. Hope we've cleared things up.

Someone might say python [...]
I would say C#.


python [...] Or c++

Ruby since you can apply it with Metasploit or Java for Android development.

I would choose C++, but that is because I like it.

You could even do something with AutoIT script if you wanted to.

High level languages (like javascript or PHP), [...]
JS [...]
JQuery, [...]
The problem with C++ (from what I see, although I haven't used it extensively first-hand)

Go with C# or C++.

python or ruby
[...]
HTML5 and canvas + javascript can make for some really nice pages.

Assembly/C/C++ and Matlab [...]
C# and Java...[...]
VHDL [...]
You don't want to use Matlab unless you're interested in audio manipulation and DSP. [...]
You probably need a full major in it, though.[...]
mbed [...]
OpenCV[...]
Phidgets [...]
Kinect [...]
C++....[...]
C# [...]
Java [...]
For work, I use Perl, PHP, and Javascript fairly extensively. [...]
JQuery and its many AJAX/event helpers [...]
(though I have never used Python),[...]
Flash. [...]
HTML5 isn't compatible with our corporate browser [...]
CGI. [...]

I think that wraps it up. Pick your poison.
 
Er... I don't know how that summary works (you didn't even list Perl on its own line :(...) but I do wanna note that you probably don't wanna use VHDL to make it.... I mean you could just.. you probably don't want to. Even on an FPGA. You can do some pretty fun things with FPGA's and VHDL though. Also forgot but yeah MBED is in C++ and is a pretty fun platform to make robots from. It can be a lot of fun as a hobby but not necessarily economical. You could also technically make a hardware audio player with MBED...
 
Last edited:
Back
Top