ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

Other Software > Developer's Corner

Best programming language to pick up for applications?

<< < (3/6) > >>

MilesAhead:
I agree with AHK for the macro stuff you mentioned.. clicking the mouse etc..

For a nice drag and drop form designer and being free C# Express is tough to beat.

If you wanted to try your hand at C++ I would recommend a dialog creation tool
so that you don't get bogged down in the Gui part of VC++.  The tool creates a
resource file that you can load into Visual Studio.  The code skeleton is done
by the tool.  You just add to the switch statement to process buttons or whatever.

But I would look at some source code in the languages you are considering.
I found some things turned me off.  I just didn't think I would like dealing with
certain languages.  One example is Lisp.  Just typing all those parens I think
I'd commit suicide after a couple of hours.  But as Mouser says, see what
grabs you.

One thing I find cool is making applications using more than one exe combining
AutoIt3 and AutoHotkey.  AHK has more powerful hotkeys.  Especially when it
comes to mouse handling.  AutoIt3 can do some things more easily and has
a straightforward syntax.  One example where AutoIt3 can do things simply
is adding icons to buttons in a Gui.  To add the icon from an exe to a button
is one function call.  Also adding tooltips is very easy.  To do the tooltip in
AHK you more or less need to code the event handler yourself.  Not the end
of the world but sometimes I find it cool to code the Gui in AutoIt3 and call
an AHK exe to handle the hotkeys and send the AutoIt3 window a message.
That type of thing.

f0dder:
C++ is my favorite language, but I wouldn't recommend it to anybody who doesn't need it. While modern C++ is nice, the language does have a lot of pitfalls, and there's a lot of bad advice and bad code on the internet.

For your purpose of automating stuff, AutoHotkey or AutoIt would probably be the best choices on Windows - they were made for the purpose of automation, and has support for movey-clickey stuff out of the box.

For general-purpose stuff, C# is very, very nice. It's "fast enough", the language has a lot of nice extra that Java misses, there's really no better IDE than Visual Studio, and it's easier to do GUIs in C# than Java (because of available tools and frameworks).

Ath:
Well, after re-reading the OP, I'd advise to go for AutoIt 3, in favor of AutoHotKey, as the AHK language is quite quirky, compared to the Basic-like and thus (IMHO) readable format of AutoIt 3. I've done a few bigger au3 projects, and at the offstart have looked at ahk, but I couldn't get the grasp of it. Though that may suggest something about my abilities :-[ I think one should feel comfortable with the use of a (programming) language and ahk didn't give me that.

With the tooling provided, it's also rather easy to create a GUI, so that combines it into a win-win tool for automation tools as described. It would be quite a challenge to create anything similar in C#, C, C++, Java or any other general purpose programming language. (as others also said)
 :two:

Innuendo:
When fulfilling the requirements for my college degree, I was tasked with choosing a programming language to learn. If I recall correctly, the choices were C++, C#, and Python. Python, while powerful, is (what I call) a scripting language in that it is not compiled so I figured I could easily learn it on my own later.

This left C++ and C#. I scoured the internet looking for opinions. C# sharp truly rocks, but I got the idea it was kind of unto itself. Therefore, I went with C++ because a lot of people mentioned that what you learn there can be easily applied to other programming languages. Some may say C++ is a difficult language, but even though I had only learned BASIC many, many years ago, I took right to it. Put yourself in the right frame of mind and it's like playing with Legos. :)

People in the thread are recommending AHK and AutoIt, but...that doesn't make sense. If you are wishing to make full-blown applications and games from scratch...like your OP sounds like, then you don't want either of those. However, if someone can point me to a first-person shooter written from the ground up in AHK or AutoIt, I'll gladly change my stance.

You know Java. You know Visual Studio. Java is not going away anytime soon. There are worse ways to spend your time than advancing your Java knowledge. However, if you wish to broaden your horizons, C++ is an awesome way to do it. My college instructor would show us the C++ way of doing things & then, just to show a contrast, he'd show us the Java way. It was 90% identical most of the time.

I tell everyone if you learn C++ not only will you be learning a programming language, but you will also learn valuable problem-solving skills you will be able to apply to your everyday life.

MilesAhead:
I tell everyone if you learn C++ not only will you be learning a programming language, but you will also learn valuable problem-solving skills you will be able to apply to your everyday life.
-Innuendo (March 29, 2015, 12:03 PM)
--- End quote ---

When C++ came on the scene I already used C.  So picking up C++ and C# was very natural.  For me the AHK recommendation was for macro stuff.  Some of the stuff trivial in AHK such as detecting mouse clicks didn't work at all using WinAPI calls when I tried them in VC++.  Probably why AHK uses a hook by default.

But I agree it never hurts to know a C based language.  Also a smattering of one assembler flavor can give some perspective.  It helps when debugging for sure.  :)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version