Author Topic: Too many programming languages?  (Read 49219 times)

0 Members and 1 Guest are viewing this topic.

Offline bjdhjy888Topic starter

  • Regular Contributor
  • *
  • Posts: 62
  • Country: ca
Re: Too many programming languages?
« Reply #175 on: October 04, 2019, 04:58:44 am »
Given the fact that my C# book has 1000+ pages and so do my other programming books on Java, C++, when will I be able to master all the features of these programming languages?!

Reading them all would cost me years, not to metion using them the way I want.....

Should I focus on C only?!?

 :-[
 

Offline Berni

  • Super Contributor
  • ***
  • Posts: 4957
  • Country: si
Re: Too many programming languages?
« Reply #176 on: October 04, 2019, 05:12:08 am »
For embedded programing on MCUs id say C is all you ever need, along with a tiny bit of assembler so that you know how your architecture works.

Not everything is about learning the language. Even just learning how the particular MCU family works can be quite a bit of time. Some of these modern ones have gotten pretty advanced, like that they have various memory regions so one piece of RAM might be slower than another piece of RAM, they have caches, they have a MMU (Memory Management Unit), the DMA might only be able to work in certain RAM regions, perhaps there is external RAM connected to the MCU then you need to take care of initializing it etc... Its all still less complex than trying to run baremetal C code on something like a big multicore MPU, but its going in that direction.
 
The following users thanked this post: bjdhjy888

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4039
  • Country: nz
Re: Too many programming languages?
« Reply #177 on: October 04, 2019, 06:36:46 am »
Given the fact that my C# book has 1000+ pages and so do my other programming books on Java, C++, when will I be able to master all the features of these programming languages?!

Reading them all would cost me years, not to metion using them the way I want.....

Should I focus on C only?!?

 :-[

C is certainly a lot simpler and easier to master. The official specification has still gotten very long by now.

If you're a beginner to programming then Scheme is far simpler than C and is great for learning basic programming through to very advanced algorithms. especially, the syntax of Scheme is trivial, and the semantics (meaning) is very easy to describe and learn and reason about too. The "Racket" IDE and documentation is a great place to start. Once you know Scheme and programming concepts, it's easy to move to C. Probably easier than learning C directly.

One of the most important things about programming in C is understanding the underlying machine model.

What better way to learn the machine model than to program the machine in assembly language? Some assembly languages can be described in just a couple of pages. ARMv1 for example (which all still works on modern ones, except for the condition codes hidden in the upper bits of the PC), or the base RISC-V ISA.
 
The following users thanked this post: bjdhjy888

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: Too many programming languages?
« Reply #178 on: October 04, 2019, 06:48:21 am »
Read the books chapters on the main semantics than start reading code, preferably at your company so it has some quality. Then write your own code step by step.
It really is like learning to ride a bicycle or driving or learning a real speaking language, you can't do it by just reading books.
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19515
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Too many programming languages?
« Reply #179 on: October 04, 2019, 07:00:20 am »
So ingrained was the belief that parallel computing was the future of all performance gains that the Fifth-Generation project generated a great deal of apprehension in the computer field. After having seen the Japanese take over the consumer electronics field during the 1970s and apparently doing the same in the automotive world during the 1980s, the Japanese in the 1980s had a reputation for invincibility. Soon parallel projects were set up in the US as the Strategic Computing Initiative and the Microelectronics and Computer Technology Corporation (MCC), in the UK as Alvey, and in Europe as the European Strategic Program on Research in Information Technology (ESPRIT), as well as the European Computer‐Industry Research Centre (ECRC) in Munich, a collaboration between ICL in Britain, Bull in France, and Siemens in Germany.

I was there at the time.

The main reasons that "failed" were that cores/memory was expensive and big, and that semiconductor processes were advancing very fast (wait a few years and your SISD was 10* faster without you doing anything.

Neither of those conditions hold any more. Semiconductor processing has reached a speed barrier dictated by thermodynamics (processors' heat flux is higher than in a nuclear reactor core) and statistics (atoms/electrons in a junction). Cores are cheap. You can get a 32 core 4000MIPS MCU for the cost of a 6800 in the late 70s.

Changed constraints imply changed innovations. Parallelism is now the future.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19515
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Too many programming languages?
« Reply #180 on: October 04, 2019, 07:01:51 am »
Read the books chapters on the main semantics than start reading code, preferably at your company so it has some quality.

The semantics of a languages is indeed a key point to understand; syntax is comparatively simple.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline bjdhjy888Topic starter

  • Regular Contributor
  • *
  • Posts: 62
  • Country: ca
Re: Too many programming languages?
« Reply #181 on: October 04, 2019, 12:27:45 pm »
I guess I'm crazy.

It's not that I won't learn a programming language, it's just that I want to learn them all!

Assembly, C, C++, C#, Java, Python, ASP.Net MVC, Javascript, mYSQL, SQL server, Linq, Lua Verilog, VHLD, even things like Oracle, .Net,  ETC ETC!!!!!!!!!!!!!!!!!!!!!!!!!!!!  :scared: :scared: :scared: :scared:

I WANT TO LEARN THEM ALL, AS THEY ARE ALL COOL AND EMPLoYERS WANT ME TO HAVE THEM! BUT I JUST DON'T HAVE THE TIME!
 :scared: :scared: :scared: :scared: :scared: :scared: :scared: :scared: :horse: :horse: :horse: :horse:
« Last Edit: October 04, 2019, 12:32:05 pm by bjdhjy888 »
 

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: Too many programming languages?
« Reply #182 on: October 04, 2019, 01:37:53 pm »
The HR dept of companies are crazy, they ask all their IT guys what knowledge a new candidate should have, puts them all together in an add.
They kind of ask for a 22 yr old MSc with ten years of job experience knowing everything  :)
 
The following users thanked this post: bjdhjy888

Offline SparkyFX

  • Frequent Contributor
  • **
  • Posts: 676
  • Country: de
Re: Too many programming languages?
« Reply #183 on: October 04, 2019, 02:54:14 pm »
I guess I'm crazy.

It's not that I won't learn a programming language, it's just that I want to learn them all!
You don't have to, all you need to understand how the machine that executes this operates and abstract from there. Languages are only abstractions of this.
Support your local planet.
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1673
  • Country: us
Re: Too many programming languages?
« Reply #184 on: October 04, 2019, 03:13:00 pm »
If you're a beginner to programming then Scheme is far simpler than C and is great for learning basic programming through to very advanced algorithms. especially, the syntax of Scheme is trivial, and the semantics (meaning) is very easy to describe and learn and reason about too.

Just make sure you use an editor that does parentheses matching, otherwise you'll drive yourself nuts.

Here's the definitive intro to Scheme that's used at MIT: https://web.mit.edu/alexmv/6.037/sicp.pdf
Complexity is the number-one enemy of high-quality code.
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19515
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Too many programming languages?
« Reply #185 on: October 04, 2019, 03:31:35 pm »
I guess I'm crazy.

It's not that I won't learn a programming language, it's just that I want to learn them all!

Assembly, C, C++, C#, Java, Python, ASP.Net MVC, Javascript, mYSQL, SQL server, Linq, Lua Verilog, VHLD, even things like Oracle, .Net,  ETC ETC!!!!!!!!!!!!!!!!!!!!!!!!!!!!  :scared: :scared: :scared: :scared:

I WANT TO LEARN THEM ALL, AS THEY ARE ALL COOL AND EMPLoYERS WANT ME TO HAVE THEM! BUT I JUST DON'T HAVE THE TIME!
 :scared: :scared: :scared: :scared: :scared: :scared: :scared: :scared: :horse: :horse: :horse: :horse:

Adult life (unlike a child's life) is about making choices that will limit the directions you can go in in the future. Deal with it.

The skills are to not make a choice until necessary, and not to unnecessarily preclude options that you want to preserve.

Bear in mind that you will have to change during your career, unless you are highly specialised, your specialism continues to valuable, and you are content with 1 year of experience repeated 10 times :)
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 
The following users thanked this post: bjdhjy888

Offline paul_g_787

  • Frequent Contributor
  • **
  • Posts: 489
  • Country: gb
Re: Too many programming languages?
« Reply #186 on: October 04, 2019, 04:15:25 pm »
Sorry everybody. Couldn't resist this one  ;) Enjoy!
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14481
  • Country: fr
Re: Too many programming languages?
« Reply #187 on: October 04, 2019, 05:06:54 pm »
If you're a beginner to programming then Scheme is far simpler than C and is great for learning basic programming through to very advanced algorithms. especially, the syntax of Scheme is trivial, and the semantics (meaning) is very easy to describe and learn and reason about too.

Just make sure you use an editor that does parentheses matching, otherwise you'll drive yourself nuts.

Ahah, indeed.

As to introducing programming with Scheme? Really? Ahem.
To use a funny parallel, I'd say it would be a bit like introducing physics with quantum mechanics. ::)

 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19515
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Too many programming languages?
« Reply #188 on: October 04, 2019, 06:02:30 pm »
If you're a beginner to programming then Scheme is far simpler than C and is great for learning basic programming through to very advanced algorithms. especially, the syntax of Scheme is trivial, and the semantics (meaning) is very easy to describe and learn and reason about too.

Just make sure you use an editor that does parentheses matching, otherwise you'll drive yourself nuts.

Ahah, indeed.

As to introducing programming with Scheme? Really? Ahem.
To use a funny parallel, I'd say it would be a bit like introducing physics with quantum mechanics. ::)

Try MIT and "Structure and Interpretation of Computer Programs".

"It was formerly used as the textbook for MIT's introductory course in electrical engineering and computer science." https://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs

But then MIT isn't a trade school :)
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1673
  • Country: us
Re: Too many programming languages?
« Reply #189 on: October 04, 2019, 06:09:16 pm »
As to introducing programming with Scheme? Really? Ahem.
To use a funny parallel, I'd say it would be a bit like introducing physics with quantum mechanics. ::)

This is MIT we're talking about here, and they probably do start with quantum mechanics in their intro to physics classes. The whole point of that class is to teach people to think like a computer scientist, not to teach something applicable to the real world--that comes later.
« Last Edit: October 04, 2019, 06:12:20 pm by Sal Ammoniac »
Complexity is the number-one enemy of high-quality code.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14481
  • Country: fr
Re: Too many programming languages?
« Reply #190 on: October 04, 2019, 06:23:36 pm »
As to introducing programming with Scheme? Really? Ahem.
To use a funny parallel, I'd say it would be a bit like introducing physics with quantum mechanics. ::)

This is MIT we're talking about here, and they probably do start with quantum mechanics in their intro to physics classes. The whole point of that class is to teach people to think like a computer scientist, not to teach something applicable to the real world--that comes later.

Sure, but even so.
I kind of doubt Knuth or Wirth, for instance, would agree with using Scheme to *introduce* programming.
I happen not to either. And it has nothing to do with the fact it would be applicable to the real world or not. It's just about teaching, especially computer science.
Just my opinion (and not just mine IMO) here. If the MIT thought it was a proper way of teaching programming and introduce computer science, good with them, and I'm not saying they are stupid in the least either. That just sounded like an argument of authority though, so I took the liberty of using it as well mentioning Knuth and Wirth ;D

 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1673
  • Country: us
Re: Too many programming languages?
« Reply #191 on: October 04, 2019, 07:37:04 pm »
At a company I used to work for we set up a lunch-time seminar where every week we'd go though one chapter of that MIT Scheme book. All of the attendees of the seminar were experienced software engineers, some with decades of experience. We worked all of the exercises individually and as a group. At the end, everyone thought it was a worthwhile experience and everyone said they learned something.
Complexity is the number-one enemy of high-quality code.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14481
  • Country: fr
Re: Too many programming languages?
« Reply #192 on: October 04, 2019, 07:42:50 pm »
At a company I used to work for we set up a lunch-time seminar where every week we'd go though one chapter of that MIT Scheme book. All of the attendees of the seminar were experienced software engineers, some with decades of experience. We worked all of the exercises individually and as a group. At the end, everyone thought it was a worthwhile experience and everyone said they learned something.

I'm sure it was! But aren't you kind of confirming (at least, your example doesn't confirm the opposite) what I just said above? That it may be an interesting learning experience -  as long as you're *already* experienced (and IMHO, a lot less so if you're not, as we were talking about an introductory course, unless I misunderstood something...) Are MIT students taking an introductory course experienced software engineers? My point was just pedagogical, but you may, of course, have a different view on pedagogy.
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19515
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Too many programming languages?
« Reply #193 on: October 04, 2019, 08:16:58 pm »
As to introducing programming with Scheme? Really? Ahem.
To use a funny parallel, I'd say it would be a bit like introducing physics with quantum mechanics. ::)

This is MIT we're talking about here, and they probably do start with quantum mechanics in their intro to physics classes. The whole point of that class is to teach people to think like a computer scientist, not to teach something applicable to the real world--that comes later.

Oh, mutter.

Scheme is simple and orthogonal, without lots of strange history that enables experienced people to discuss what they think ought to happen. Yes, C, I'm looking at you.

Basically I want new programmers to concentrate on getting the big picture fundamentals in decent order. Horrible corner cases can come later - and often but not always will come later. "Which button to push" knowledge has a very short half life, and is a waste of time.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1673
  • Country: us
Re: Too many programming languages?
« Reply #194 on: October 04, 2019, 09:20:24 pm »
I think Scheme is great as both an introductory language and to teach old dogs new tricks. It's a simple language that lets you concentrate on the concepts rather than details of syntax.
Complexity is the number-one enemy of high-quality code.
 

Offline techman-001

  • Frequent Contributor
  • **
  • !
  • Posts: 748
  • Country: au
  • Electronics technician for the last 50 years
    • Mecrisp Stellaris Unofficial UserDoc
Re: Too many programming languages?
« Reply #195 on: October 05, 2019, 01:38:54 am »
As to introducing programming with Scheme? Really? Ahem.
To use a funny parallel, I'd say it would be a bit like introducing physics with quantum mechanics. ::)

This is MIT we're talking about here, and they probably do start with quantum mechanics in their intro to physics classes. The whole point of that class is to teach people to think like a computer scientist, not to teach something applicable to the real world--that comes later.

Sure, but even so.
I kind of doubt Knuth or Wirth, for instance, would agree with using Scheme to *introduce* programming.
I happen not to either. And it has nothing to do with the fact it would be applicable to the real world or not. It's just about teaching, especially computer science.
Just my opinion (and not just mine IMO) here. If the MIT thought it was a proper way of teaching programming and introduce computer science, good with them, and I'm not saying they are stupid in the least either. That just sounded like an argument of authority though, so I took the liberty of using it as well mentioning Knuth and Wirth ;D

Brucehoult said "The "Racket" IDE and documentation is a great place to start. Once you know Scheme and programming concepts, it's easy to move to C. Probably easier than learning C directly." and I agree with him.

DrRacket is designed to teach computer programming via examples and comes with "teachpacks" and tons of documentation for the beginner. The emphasis is on learning computer programming not the language. https://download.racket-lang.org

“Racket” is more of an idea about programming languages than a language in the usual sense.  https://docs.racket-lang.org/guide/more-hash-lang.html

I'm improving my programming skills and learning lisp/scheme myself using DrRacket . It's fun and some of the concepts are actually beginning to sink in, I have even lost my "bracket phobia".
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4039
  • Country: nz
Re: Too many programming languages?
« Reply #196 on: October 05, 2019, 04:21:41 am »
If you're a beginner to programming then Scheme is far simpler than C and is great for learning basic programming through to very advanced algorithms. especially, the syntax of Scheme is trivial, and the semantics (meaning) is very easy to describe and learn and reason about too.

Just make sure you use an editor that does parentheses matching, otherwise you'll drive yourself nuts.

Here's the definitive intro to Scheme that's used at MIT: https://web.mit.edu/alexmv/6.037/sicp.pdf

If you need deeply nested parentheses then you're dong it wrong. Except in arithmetic expressions which are seldom very complicated anyway) the nesting depth of ((( in Scheme is generally no deeper than the total nesting of (, [, and { in C.

sicp is a great book, but it's designed for people with very high mathematical knowledge and there are much better Scheme choices for average programmers.
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4039
  • Country: nz
Re: Too many programming languages?
« Reply #197 on: October 05, 2019, 04:24:35 am »
At a company I used to work for we set up a lunch-time seminar where every week we'd go though one chapter of that MIT Scheme book. All of the attendees of the seminar were experienced software engineers, some with decades of experience. We worked all of the exercises individually and as a group. At the end, everyone thought it was a worthwhile experience and everyone said they learned something.

I'm sure it was! But aren't you kind of confirming (at least, your example doesn't confirm the opposite) what I just said above? That it may be an interesting learning experience -  as long as you're *already* experienced (and IMHO, a lot less so if you're not, as we were talking about an introductory course, unless I misunderstood something...) Are MIT students taking an introductory course experienced software engineers? My point was just pedagogical, but you may, of course, have a different view on pedagogy.

This is about the contents and style of SICP, not about any difficulty in Scheme.
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4039
  • Country: nz
Re: Too many programming languages?
« Reply #198 on: October 05, 2019, 04:26:16 am »
As to introducing programming with Scheme? Really? Ahem.
To use a funny parallel, I'd say it would be a bit like introducing physics with quantum mechanics. ::)

This is MIT we're talking about here, and they probably do start with quantum mechanics in their intro to physics classes. The whole point of that class is to teach people to think like a computer scientist, not to teach something applicable to the real world--that comes later.

Oh, mutter.

Scheme is simple and orthogonal, without lots of strange history that enables experienced people to discuss what they think ought to happen. Yes, C, I'm looking at you.

Basically I want new programmers to concentrate on getting the big picture fundamentals in decent order. Horrible corner cases can come later - and often but not always will come later. "Which button to push" knowledge has a very short half life, and is a waste of time.

Exactly.

Scheme doesn't have corner cases. Everything you think *should* work, does.

C is an utter minefield in comparison.
 

Offline techman-001

  • Frequent Contributor
  • **
  • !
  • Posts: 748
  • Country: au
  • Electronics technician for the last 50 years
    • Mecrisp Stellaris Unofficial UserDoc
Re: Too many programming languages?
« Reply #199 on: October 05, 2019, 10:34:29 am »
As to introducing programming with Scheme? Really? Ahem.
To use a funny parallel, I'd say it would be a bit like introducing physics with quantum mechanics. ::)

This is MIT we're talking about here, and they probably do start with quantum mechanics in their intro to physics classes. The whole point of that class is to teach people to think like a computer scientist, not to teach something applicable to the real world--that comes later.

Oh, mutter.

Scheme is simple and orthogonal, without lots of strange history that enables experienced people to discuss what they think ought to happen. Yes, C, I'm looking at you.

Basically I want new programmers to concentrate on getting the big picture fundamentals in decent order. Horrible corner cases can come later - and often but not always will come later. "Which button to push" knowledge has a very short half life, and is a waste of time.

Exactly.

Scheme doesn't have corner cases. Everything you think *should* work, does.

C is an utter minefield in comparison.

Lisp even has a song :)

 
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf