Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Need advice on what programming language to learn.

Status
Not open for further replies.

Alan8947

Full Member level 4
Joined
Sep 21, 2016
Messages
215
Helped
9
Reputation
18
Reaction score
11
Trophy points
1,298
Activity points
3,746
Hi

I want to learn a programming language that relate to PC. My goal is to learn more about Windows, so the best way is to learn how to write programs relate to Windows, using Windows. I want to know what language to learn and how to go by it.

I learned Assembly, Basic and Pascal before and did some programming in my jobs in late 70s and early 80s. But since then, my interest and career was more in analog and RF electronics. Now that I am retired, I just want to catch up on programming and learn more about Windows.

Please advice me what language to learn and what is the best approach to achieve this.

Thanks

Alan
 

Currently there are options for various tastes and costs. For those who like me started with Delphi (90's) and borland C++ (this century), Java Netbeans came up as a good option, mainly because it's free, but it's necessary to review object oriented programming concepts to at least understand the why of some language constructs. The IDE itself inherited from Eclipse is also an extremely powerful asset, and can be used with other compilers, which means that much of what you experience there will be used with another platform soon or late.
 

as you know basic and pascal, I suggest you to take a look at Xojo (www.xojo.com)
it's a object oriented basic, works on multiple platforms including a raspberry Pi, so the link to electronics is quite direct.
 

ThinBasic is a programming environment which is centered around the Windows OS. It uses routines found in the Win OS so you can create your own application resembling professional Windows applications.
It supports custom windows, menus, mouse & keyboard operations, user interactions, error messages, etc. You can open simultaneous console (DOS-like) window, and color graphics window. It is a sophisticated BASIC language developer environment, supporting disk operations, peripherals, communications, etc. Abundant examples allow a rapid learning curve.

Free to download and use:

www.thinbasic.com
 
Thanks for all the replies, I need time to look into this. I thought is very simple, I see there's a lot of choice. In my work days, it's always C++ or C# they were talking about, I did not expect there are so many option.

- - - Updated - - -

ThinBasic is a programming environment which is centered around the Windows OS. It uses routines found in the Win OS so you can create your own application resembling professional Windows applications.
It supports custom windows, menus, mouse & keyboard operations, user interactions, error messages, etc. You can open simultaneous console (DOS-like) window, and color graphics window. It is a sophisticated BASIC language developer environment, supporting disk operations, peripherals, communications, etc. Abundant examples allow a rapid learning curve.

Free to download and use:

www.thinbasic.com

Thanks

This sounds the closest to what I am thinking.....But I am just thinking out loud, I really don't know what I really want.
 

C# in Visual studio. Very powerful modern language and a very good IDE.

If you want to make life harder for yourself c++ is another obvious but dated choice.
 
Hi,
Why not try C++ with visual studio or QT creator and with QT creater it is very similar to the thinbasic UI design.
 

C# in Visual studio. Very powerful modern language and a very good IDE.

If you want to make life harder for yourself c++ is another obvious but dated choice.

Sorry about my ignorance, what is IDE? I know the company I contracted with 2 years ago use C# even for firmware development. Would that be the best choice that I can use it for firmware?

Sorry for my ignorance, I am really out of the loop as my specialty is so far remote form this even though it is so closely related. Even when I designed the micro-controller based hardware, I just designed the circuit and let my junior engineer did the programming!!! ( Lazy).
 

I know the company I contracted with 2 years ago use C# even for firmware development. Would that be the best choice that I can use it for firmware?
Perhaps others will give different opinions, but I would say from my own experience that C++ lacks from many resources (methods) natively available in Java, without the need to add third libraries, and C# is even easiest to work if compared to both, C# is a bit more up to date language. One aspect to consider is the work efficiency; it is frustating to realize that lot of functions you had to write by yourself in one language were intrinsicly built in another language.

- - - Updated - - -

By the way, you are talking about software, not firmware, right? I mean, it is intended to run on the PC side or embeeded ?
 
Perhaps others will give different opinions, but I would say from my own experience that C++ lacks from many resources (methods) natively available in Java, without the need to add third libraries, and C# is even easiest to work if compared to both, C# is a bit more up to date language. One aspect to consider is the work efficiency; it is frustating to realize that lot of functions you had to write by yourself in one language were intrinsicly built in another language.

Sounds like C# is the best of both worlds for me, I can get into PC and can use in firmware development if I ever choose to in the future. Actually I was talking to my CTO at the time and he suggested C# as they actually use it in the company. But I was thinking they use it more on firmware, but now that I know it's good for PC application, that seems to be the best choice.

What is the best way to start? Is there any free download?

Thanks
 

IDE stands for integrated development environment. The program that you write the code in that contains the text editor, compiler, etc. Visual studio has lots of bells and whistles like auto-complete, immediate window, GUI for creating GUIs, refactoring tools (rename variables and functions intelligently versus find-and-replace) and many more. It's quite painful to go back to IDEs that lack these features after you get used to them....

Yes its free, google "visual studio C# download".

I'd say C# is a windows desktop language first that has expanded from that. Firmware, well what kind? Embedded windows - definitely yes. But also, believe it or not, we're deploying some C# in an embedded Linux firmware application. .Net is now cross platform and it appears to work quite well. Though to be clear we don't use it for the mainline code, only for some diagnostic features at the moment.
 
IDE stands for integrated development environment. The program that you write the code in that contains the text editor, compiler, etc. Visual studio has lots of bells and whistles like auto-complete, immediate window, GUI for creating GUIs, refactoring tools (rename variables and functions intelligently versus find-and-replace) and many more. It's quite painful to go back to IDEs that lack these features after you get used to them....

Yes its free, google "visual studio C# download".

I'd say C# is a windows desktop language first that has expanded from that. Firmware, well what kind? Embedded windows - definitely yes. But also, believe it or not, we're deploying some C# in an embedded Linux firmware application. .Net is now cross platform and it appears to work quite well. Though to be clear we don't use it for the mainline code, only for some diagnostic features at the moment.

Is this the one? https://visualstudio.microsoft.com/downloads/

Do you have recommendation on a book for C#? I have not done any programming for almost 40 years!!! I pretty much starting from the beginning.

thanks
 

Can't help you with the books.

Because it's a popular language you can google "how to do [insert anything] in c#" and almost always get an answer. Admittedly that helps more with specific questions than the big picture. If you're new to object oriented programming I'd make sure the book helps you with that - or find a book on that subject specifically.

Before you buy a book try to find and follow a couple tutorials online to get a clue as to what kind of help you'll need from a book.
 

What is the difference between C# 6 and C# 7. Some books are for 6 and some for 7.

Also, should I buy books for absolute beginners on C# or the next step up. Obviously I don't know anything about C#, but I did do some programming on basic, fortran, pascal and particular assembly. From my experience, you really learn one and you learn all. I remember I learned fortran in college at the time, that was hard enough. But then when I learn basic and Pascal, it's like a two week thing only as you expect what's coming, just mainly learning the syntax and learn the particular way to compile and run it. Even assemble language is pretty much the same, just more primitive. They are quite easy.
 

There are many languages like c++ , c# , java and others .
Many compilers like visual c and many IDEs . Each one has its own plus and minusses.


But if you are interseted in Windows programming ,
learn C (yes C) and get to know the WinAPI.

All others have the advantages of writing in few codes with GigaBytes of overhead.

and all examples will show how to write code for trivial things .
Once you eter into the advanced level , they are very difficult to learn and implement.

Since it is for you personal and not any professional (No deadlines)
go in that route.
Though looks very hard initially , you will reap the benefit in advanced applications.

initially you can use toolkits to try the examples.
 

C# or C++ for Windows programming
 

I have been programming for more than 25 years on C, C++, C#, Basic, Visual Basic, Java, Python, FORTRAN, and COBOL. For what it is worth, a few pieces of advice:

1) IMHO, once you learn any programming language to a decent level of competency, picking up another language is just a matter of a change in syntax.
2) You would probably be most comfortable in C# to start out programming Windows.
3) I know it is out-dated, but learning about the structure of Windows (Microsoft Foundation Classes (MFC), Memory Allocation, Message Queuing and Handling, Multi-threading etc.) will take your Windows skills to a whole new level, even if you just know about them and not necessarily learn to work with them on a low-level.

Whatever language you decide to pursue and need educational material on it, PM me. I have a lot of e-books on most of the programming languages.

Hope this helps.
 

Python is a popular programming language. It was created by Guido van Rossum, and released in 1991.

It is used for:

web development (server-side),
software development,
mathematics,
system scripting.
 
Last edited by a moderator:

Hi

I want to learn a programming language that relate to PC. My goal is to learn more about Windows, so the best way is to learn how to write programs relate to Windows, using Windows. I want to know what language to learn and how to go by it.

I learned Assembly, Basic and Pascal before and did some programming in my jobs in late 70s and early 80s. But since then, my interest and career was more in analog and RF electronics. Now that I am retired, I just want to catch up on programming and learn more about Windows.

Please advice me what language to learn and what is the best approach to achieve this.

Thanks

Alan

I did the same thing you did.
Fortran, 360/370 Assembler, Turbo Pacal,
and now I've glommed onto Python 3.7

I suggest you pick a popular language - better resources in forums like this and in forums dedicated to a specific language.
Ultimately, it doesn't matter which one. The time and effort you put in learning it is what will matter.
and like every choice, each language has its upside and it downside
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top