Trying to decide which programming language I want to learn

Click For Summary

Discussion Overview

The discussion revolves around selecting a programming language for personal learning, particularly focusing on options suitable for scientific and gaming applications. Participants share their experiences and preferences regarding languages like Python, C#, and C++, considering factors such as ease of learning, community support, and specific use cases like firmware design and game development.

Discussion Character

  • Exploratory
  • Debate/contested
  • Technical explanation

Main Points Raised

  • One participant expresses interest in learning a programming language for mental exercise and to engage with their grandchildren, considering C#, C++, and Python.
  • Another participant suggests Python as a good choice due to its libraries for scientific programming and gaming, mentioning the potential for collaborative learning with grandchildren.
  • Some participants note that Python is more enjoyable and accessible, while C and C++ may offer advantages in job searches but are seen as more tedious to program.
  • There is a discussion about the suitability of C# versus C++ for hobby projects, with one participant leaning towards C# for its perceived ease of use.
  • Concerns are raised about the performance differences between C++ and C#, with some participants suggesting that C++ may be better for game programming due to its speed and efficiency.
  • Participants mention various resources for learning, including books and online tutorials, and discuss the importance of practical projects in the learning process.
  • There is a mention of the growing interest in robotics within the Python community, highlighting the use of single-board computers like Raspberry Pi.

Areas of Agreement / Disagreement

Participants do not reach a consensus on which programming language is definitively better, as multiple competing views remain regarding the suitability of Python, C#, and C++ for different applications and personal preferences.

Contextual Notes

Participants express varying levels of familiarity with programming and the specific requirements of their projects, leading to different recommendations based on individual goals and interests. There are also references to the need for additional resources and learning materials to support the chosen language.

Who May Find This Useful

This discussion may be useful for individuals interested in learning programming languages for personal projects, particularly those with a focus on scientific applications or gaming, as well as those looking to engage with younger generations in programming activities.

  • #391
sysprog said:
The compiler would reject the 0++ incrementation directive inside the brackets of the a[0++] expression because 0 is not a variable.
I'll take your word for it but, as long as the context is only iteration and not re-iteration (ie: it doesn't need to be rezeroed), it saves a superflous explicit declaration.
 
Technology news on Phys.org
  • #392
hmmm27 said:
I'll take your word for it but, as long as the context is only iteration and not re-iteration (ie: it doesn't need to be rezeroed), it saves a superflous explicit declaration.
What's wrong with a[1]?
 
  • #393
Mark44 said:
C++:
unsigned i = 0;
while (i < dynArr.size())
{         
      num = dynArr[i++];
      count << num << " ";// display all the numbers until the end.         
}
This is of course also a common application for a traditional for-loop:
C++:
for (int i = 0; i < dynArr.size(); i++)
{
    count << dynArr[i] << " ";
}
Or in a modern (post 2011) version of C++, a range-based for-loop:
C++:
for (int num : dynArr)
{
    count << num << " ";
}
 
  • Like
Likes   Reactions: pbuk
  • #394
pbuk said:
What's wrong with a[1]?
Nothing, if your purpose is to explicitly access the second element in an array. In what context were you comparing it to a hypothetical a[0++] statement ?
 
  • #395
pbuk said:
What's wrong with a[1]?
hmmm27 said:
Nothing, if your purpose is to explicitly access the second element in an array. In what context were you comparing it to a hypothetical a[0++] statement ?
I believe pbuk was referring to this post of yours, #380:
hmmm27 said:
wouldn't be surprised if a c compiler accepted, and processed properly, something to the effect of a[0++]
There's nothing hypothetical about a[0++]. It just flat won't compile.
 
  • #396
This thread is getting very long, with just under 400 posts. @yungman, when you have another question, please start a new thread.
 
  • Like
Likes   Reactions: pbuk
  • #397
Thank guys, my big boss just had a hip replacement yesterday and she's home. I am too busy right now to read the replies right now. I'll get to it later tonight or tomorrow.

thanks
 
  • #398
I'm closing this thread now. If anyone other than the OP (@yungman) feels the need to reply to a post here, please let me know, and I'll reopen it temporarily.
 

Similar threads

  • · Replies 15 ·
Replies
15
Views
4K
  • · Replies 133 ·
5
Replies
133
Views
11K
  • · Replies 8 ·
Replies
8
Views
3K
Replies
16
Views
3K
  • · Replies 54 ·
2
Replies
54
Views
5K
  • · Replies 13 ·
Replies
13
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 16 ·
Replies
16
Views
2K
  • · Replies 58 ·
2
Replies
58
Views
5K