Which language to learn?

I need your advice...
I often need to be able to create programs for Windows, either within an application (macro) or as  a standalone application.
When I was younger, I learnt Basic and Pascal, so I know this kind of language and their structure and logics, but they are no longer used.
I don't know what language to learn. The issue is I need sth easy to learn (considering my knowledge of Basic and Pascal) and with which I can be coding without too much learning. But this language should be not too much limited so that I can create various types of programs.
I looked at C++ but it will take a long learning curve before being operational. I heard about other languages such as Java or Python but I am unsure of the compromise learning speed / capabilities. Also not sure if they would work as macros for Excel or Access. Which would mean I need to learn 2 languages (VBScript and xxxx)?
Any advice please? Thanks
Jean-Christophe GALLANDKorea R&D DirectorAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

käµfm³d 👽Commented:
Have you looked at VB.NET? I'll admit that there is a learning curve because .NET is object-oriented programming and BASIC is not (really). But since the syntax is mostly the same you may find it easy to pick up. Also, the IDE--Visual Studio--is free to download:

ivan rosaCommented:
Hello Gallandjc,

Depends on the industry market you want to be in and also depends on the time you want it to achieve, what are your goals at this point?
XAML, Java script, C++, C#

See dev.windows.com:
"Get started with Windows apps"
OWASP: Avoiding Hacker Tricks

Learn to build secure applications from the mindset of the hacker and avoid being exploited.

Jean-Christophe GALLANDKorea R&D DirectorAuthor Commented:
My goals are to write macros for MS excel or Access and write standalone programs for Windows for easy tasks (calculations, plots, data and file management). As I said I need sth close to Pascal or Basic logic so that I don't have to learn too much from scratch
C++ is a great starting point... low level, object oriented language.
ivan rosaCommented:
ok, so i guess If I was in your shoes this would be my choices

Access and Excel use VBA in common

As for something similar to Pascal and Basic, then  PowerShell(*.ps1), and VBScript(*.vbs) have kind of taken over that..., and considering the market Powershell is bit more popular and very common used

so easy enough:

VBA and

Unless otherwise As you mentioned about Java and such, it would be bit different, like  HTML 5 is very demanded due to it's compatibility with Web in Mobile and PC regardless of the OS

Ps. I sure mis those of Qbasic days..
Maidine FouadEngineerCommented:
First of all you need to know and realise that programming languages are tools , differrent tools are appropriate for differrent jobs, No matter how good and big the Hammer is , it cant do everything ...

And one of course cant rely on a language for an eternity , technology changes ... with time , things get outdated , updated , dropped , so do languages ...Anyway :

First language you need is Vba , like all Most of our respected Experts said , its used commonly with All Microsoft office programs ...  

Second language is where everybody will differ , in my opinion your better of learning Python , now why that ?

Now if you had time , and energy to put i would go c++, or Java they are very valuable languages nowadays , especially in the entreprise world

But If you want something Easy to learn , a language that has a simple, regular syntax

A language that is safer with its  run-time type checking ,Garbage collector , Like Java is , supports oriented Object programming, is practical , and you can be more productive in it GO Python , you program Faster in it , Not to mention it is a dynamically-typed language

Let me show you an example :

A basic Hello World For C++ , it requires the code to be Wrapped in a Main function, and of course including preprocessors needed directives :

#include <iostream.h> 
int main()
   cout << "Hello World!"; 

Open in new window

In java The Code needs to be inside of a class :

public class helloWorld
   public static void main(String [] args)
     System.out.println("Hello World!");

Open in new window

In python you have support of classes , of functions , But it Is Simpler :

print "Hello World!"

Open in new window

Thats It basicly... Want to open a file In Java ? in C++ , and in python ? In python you just need One line:

myFile = open(argFilename)

Open in new window

In java :

import java.io.*;

BufferedReader myFile =
    new BufferedReader(
        new FileReader(argFilename));

Open in new window

In C++ :
#include <iostream>
#include <fstream>
using namespace std;

int main () {
  ofstream myfile;
  myfile.open ("example.txt");
 // then you do what you want ....
  return 0;

Open in new window

If you want to start learning ;) , They are some videos on EE, and of course check the Pythons web site


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Programming Languages-Other

From novice to tech pro — start learning today.