Choosing the Best Programming Language for Beginners

  • Thread starter Thread starter Kajahtava
  • Start date Start date
Click For Summary
The discussion centers on the suitability of programming languages for beginners, particularly C and C++. It argues against starting with C, emphasizing that it requires a deep understanding of computer architecture and can lead to unsafe programming practices. The complexity of memory management in C, such as manual allocation and pointer usage, is highlighted as a barrier for newcomers. In contrast, languages like Python and Perl are recommended for their ease of use and ability to allow beginners to focus on programming concepts rather than low-level details. The conversation also touches on the elegance and structure of languages like Scheme and APL, which are seen as better for teaching foundational programming principles. Critics of C argue that it enforces a style that can lead to bad habits, while proponents defend its power and versatility for complex applications. Overall, the thread debates the balance between performance and ease of learning, suggesting that beginners might benefit more from higher-level languages that abstract away the complexities of memory management and system-level programming.
  • #31


Kajahtava said:
That is why I listed C# under higher order. But C and C++ are most definitely not higher order, functions are not first-class there.
That is a very narrow and extremely non-standard definition of "high order language". By any rational account C and C++ are high order (or rather, high-level) languages. You can take an ANSI-C compliant program from a Linux machine to a Mac, a Windows machine, a Cray, or a Harvard architecture machine, and so long as an ANSI-compliant C compiler exists for that machine, the program will execute on that machine.
 
Technology news on Phys.org
  • #32


D H said:
That is a very narrow and extremely non-standard definition of "high order language". By any rational account C and C++ are high order (or rather, high-level) languages. You can take an ANSI-C compliant program from a Linux machine to a Mac, a Windows machine, a Cray, or a Harvard architecture machine, and so long as an ANSI-compliant C compiler exists for that machine, the program will execute on that machine.
I take it you do not know what the term higher order means from this.

http://en.wikipedia.org/wiki/Higher-order_function
http://en.wikipedia.org/wiki/Higher_order_programming

But that's okay, because wiki to the rescue.

Higher order has nothing to do with high level, though invariably higher order languages are fairly high level. Though some'd argue that Lisps are in fact fairly low level due to their homo-iconicity.

It's also as much a paradigm as a language-type.
 

Similar threads

Replies
86
Views
1K
Replies
16
Views
3K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 119 ·
4
Replies
119
Views
9K
  • · Replies 397 ·
14
Replies
397
Views
19K
  • · Replies 59 ·
2
Replies
59
Views
8K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 15 ·
Replies
15
Views
3K
  • · Replies 54 ·
2
Replies
54
Views
5K
Replies
69
Views
9K