View Single Post
Old 12-28-2022, 05:04 AM   #207
Quoth
Still reading
Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.
 
Quoth's Avatar
 
Posts: 14,434
Karma: 107078855
Join Date: Jun 2017
Location: Ireland
Device: All 4 Kinds: epub eink, Kindle, android eink, NxtPaper
There isn't any one language for everything and learning to be a programmer rather than learning a programming language is not about learn multiple languages. It's about concepts and principles that might be illustrated in two or three languages. About dangers too.

Micrrocontrollers that can't run an off the shelf OS:
PIC family micros have only enough stack for a call & return: JAL is best language. If the microcontroller has a decent stack then Forth may be a good choice. Basic and C have been bad choices for years.
If you are customising a CMS you need skills in php and Javascript (also CSS and HTML, but those are description, not programming) and also SQL (which isn't really a programming language, but can have stored proceedures). Some server side may use Java too. Less popular CMS may use other languages.
If it's an ARM microcontroller and can run a cut down Linux then C++ may be best.

In the very unlikely situation I was writing a program for DOS or 8088 to 80486 without Windows or a real OS, I'd use Modula-2 because I have the tested libraries and even device drivers that bypass DOS for timers, graphics, midi, serial, parallel, soundblaster, PC speaker 5 bit audio, disk i/o and parallelism up to animated sprites. Only uses DOS to load to RAM at the start.

Most programming isn't from scratch, but fixing security, bugs or adding features to existing programs.

Perl or python might be best to translate a file from one format to another. (Wordstar 6.0 to text, or ebook formats in Calibre)

You need basically Java to write an Android app. Unlike desktop or server or embedded system there is no choice.

You'll need to be able to read C and C++ to use existing Windows & Linux APIs reliably.

VB6 is gone. So for rapid MS Windows development of a GUI program with SQL for in house or own use, using C# is best.

You might need C, Pascal, Turbo Pascal, Fortan, Cobol, VB6, various assemblers to re-write or translate existing code or libraries for a new platform (eg. An RDS decoder in Assembler to JAL on pic Micro or C++ on something with a real OS).

One language for the desktop only, if you have a clean sheet and no legacy APIs or Libraries to use might be possible.

In the real world you need to be a Programmer, not someone that has learnt a programming language. A real programmer can understand an unseen language in less than a day and be competent in a week. It's the libraries, Frameworks and APIs that take time with any new system or language.

Learning one popular language only, rather than programming, is a massive handicap.
It's like learning all the menus and settings on a massive desktop program without learning the principle. See MS Project without learning Project management, or MS Word or Scrivener or Indesign without knowing things from two domains, like how to write (ideas, outlines, dialogue etc) and also the concept everything needs separate styles.

In early 1990s I was supposed to teach a class learning to be secretaries Wordperfect. At work experience not one was using Wordperfect, but they didn't panic because the teaching concentrated on what you needed to understand about documents and what to look up, not WP commands and menus.

Last edited by Quoth; 12-28-2022 at 05:06 AM.
Quoth is offline   Reply With Quote