Reply
 
Thread Tools Display Modes
  #1  
Old 06-12-2019, 09:18 PM
Thudlow Boink's Avatar
Thudlow Boink is offline
Charter Member
 
Join Date: May 2000
Location: Lincoln, IL
Posts: 26,861

Help me get back into computer programming


Here's the TL;DR: What language, development environment, or other resources should I use to figure out how to make simple-but-useful, standalone, Windows programs/apps (on a strictly amateur level)?

Now the background:

Back in the 80s and 90s I was a fairly decent amateur-level programmer using BASIC, Pascal, and a smattering of other languages (including (Visual) C++) that I'd have to relearn in order to do anything useful with them today.

Recently I've been playing around with Python, and I've gotten it to do some fairly useful things. But I was disgusted when I found out it's strictly an interpreted language, so you apparently (correct me if I'm wrong) can't use it to write stand-alone software that you could actually give to someone else that they could actually use without having to install Python. Which I'd kind of like to be able to do. So now I'm thinking I ought to move on to a real, grown-up language.

But which one? C++? Java? C#? Visual Basic—do people still use that? Something else? And what's the best (easiest, quickest, friendliest) way to get up to speed, without being overwhelmed with stuff that I'm not ready to worry about? I'm thinking about writing Windows apps, but if they're easily portable, that's a plus, and I'm also open to learning about Web-based or Android app programming. I'm not looking to go pro or produce anything too major.

Any books, websites, or other resources you'd particularly recommend?
  #2  
Old 06-13-2019, 06:35 AM
Heracles's Avatar
Heracles is offline
Member
 
Join Date: Jul 2009
Location: Southern Québec, Canada
Posts: 1,546
I think the ecosystem has shifted enough that programming an application specifically for Windows, which needs to be installed on the disk, is no longer where it's at. I mean, there's still room for that, especially in corporate environments, but most stuff that ordinary people find useful is on the Web (which solves the cross-platform issue) or is an "app" for Android or iOS or Windows (and often, the app is just a thin veneer over the Web site). I'll let others weigh in on which languages are most important on that side; I'm sure JavaScript and Python will be on the list.

Assuming you want to remain on the Windows desktop, the modern options are mostly based on .NET (meaning C#). You can get by with Python or Java if needed.

It's true that Python is not included by default on a Windows or Mac system, but I don't think it's such a deal-breaker. I've seen software installers that took care of installing the interpreter at the same time as your software (similar to a Java application).

C++ has seen a resurgence these past few years for intense computation, but it's not the simple C++ of the 1990s, and its facilities for user interfaces on Windows aren't very modern. C++/CLI is a complicated cousin of C# for some niche applications.

The BASIC with line numbers from the DOS days is as out of date and useless as a disconnected stick phone forgotten in a closet on a Royal Mail steamship. The Visual Basic you may have known (<= 6.0, from 1998) is also dead and buried. Visual Basic .NET is the official replacement for VB but is just a less-capable cousin of C# that looks vaguely like the "old" VB. There's little point in using it today.

Pascal is even deader. The Delphi development environment (using Object Pascal) still exists but mostly for companies that wrote important software with it around 1995-2005.
  #3  
Old 06-13-2019, 10:51 AM
naita is offline
Guest
 
Join Date: Jun 2002
Location: Norway
Posts: 6,423
There are tools to make standalone executables from python scripts ...
  #4  
Old 06-13-2019, 12:13 PM
Thudlow Boink's Avatar
Thudlow Boink is offline
Charter Member
 
Join Date: May 2000
Location: Lincoln, IL
Posts: 26,861
Quote:
Originally Posted by Heracles View Post
most stuff that ordinary people find useful is on the Web (which solves the cross-platform issue) or is an "app" for Android or iOS or Windows (and often, the app is just a thin veneer over the Web site). I'll let others weigh in on which languages are most important on that side; I'm sure JavaScript and Python will be on the list.
So, what's the easiest way to do this—anyone?
  #5  
Old 06-13-2019, 12:15 PM
begbert2 is offline
Guest
 
Join Date: Jan 2003
Location: Idaho
Posts: 12,558
Ignore the haters; this whole "internet" thing is strictly a fad and will be gone in a few years. Desktop applications are where it's at!

Seriously though, there's nothing wrong with a desktop application, particularly if you're just making simple-but-useful standalone programs for your own use. Writing for the web requires a web server and security and various other pain-in-butt details that aren't necessary if you just want to write a variant of the Calculator that displays in Comic Sans or whatever.

And as for the actual question in the OP, I personally recommend C#. Download a free copy of the Microsoft Visual Studio development environment, ask it to generate you a skeleton of an application, and have at. Your previous experience in Visual C++ will make it seem really familiar, but C# has several advancement and modernizations as compared to its predecessor.
  #6  
Old 06-13-2019, 02:21 PM
JohnGalt's Avatar
JohnGalt is offline
Charter Member
 
Join Date: Oct 2000
Location: Med city USA
Posts: 2,193
Quote:
Originally Posted by naita View Post
There are tools to make standalone executables from python scripts ...
You can do the same with Java, of course. I have my students use Eclipse in the Java class, and we go through these 14 steps with Eclipse. You should be able follow these steps if you have a good understanding of Windows. I just hope you can figure out Eclipse and the Java JDK.

We use JavaFx for the graphical layout. In Python we use Tkinter, mostly because it's pretty simple.

You also use Java to create Android apps. There are a number of good books out there; the one we use is Head First Android Development. It's not at all graphical/game programming, but you'll learn some database features which is a nice side skill.
  #7  
Old 06-13-2019, 03:49 PM
markn+ is online now
Guest
 
Join Date: Feb 2015
Location: unknown; Speed: exactly 0
Posts: 2,385
Quote:
Originally Posted by Thudlow Boink View Post
So, what's the easiest way to do this—anyone?
If you just want to be able to run a program in a web browser, you'll want to look at JavaScript. That's supported by every major browser.
  #8  
Old 06-14-2019, 02:38 PM
Thudlow Boink's Avatar
Thudlow Boink is offline
Charter Member
 
Join Date: May 2000
Location: Lincoln, IL
Posts: 26,861
Quote:
Originally Posted by naita View Post
There are tools to make standalone executables from python scripts ...
Yeah, so I see. That seems to work, but a bit kludgily.

Quote:
Originally Posted by begbert2 View Post
and security and various other pain-in-butt details that aren't necessary if you just want to write a variant of the Calculator that displays in Comic Sans or whatever.
Yep, that's what I want to do! Okay, not exactly, but it'd be nice to be able to do that kind of thing.

Quote:
And as for the actual question in the OP, I personally recommend C#. Download a free copy of the Microsoft Visual Studio development environment, ask it to generate you a skeleton of an application, and have at. Your previous experience in Visual C++ will make it seem really familiar, but C# has several advancement and modernizations as compared to its predecessor.
I am reading up on C#. It looks like it might be fun to play with. Later I may look into Java and/or JavaScript.

Thanks to all who responded.
  #9  
Old 06-19-2019, 11:32 AM
Thudlow Boink's Avatar
Thudlow Boink is offline
Charter Member
 
Join Date: May 2000
Location: Lincoln, IL
Posts: 26,861

Update


In case anyone's curious, I ended up doing what begbert2 suggested, working with C# in Visual Studio. And I've managed to get it to do what I wanted to do, and I'm pretty happy with the result.

Just in case anyone else is in a similar situation, the resources I found particularly helpful were: The three tutorials from Microsoft starting here were well-designed and extremely helpful in showing me how Visual Studio Windows programming works. This book (downloadable pdf) was pretty good at bringing me up to speed on the C# language. Add to that of course plenty of Googling, and trial and error, to figure out how to do various things and how to fix what wasn't working the way I thought it should.
  #10  
Old 06-19-2019, 11:59 AM
begbert2 is offline
Guest
 
Join Date: Jan 2003
Location: Idaho
Posts: 12,558
Glad I could help!
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 08:49 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.

Send questions for Cecil Adams to: cecil@straightdope.com

Send comments about this website to: webmaster@straightdope.com

Terms of Use / Privacy Policy

Advertise on the Straight Dope!
(Your direct line to thousands of the smartest, hippest people on the planet, plus a few total dipsticks.)

Copyright © 2018 STM Reader, LLC.

 
Copyright © 2017