Computer Language Primer - Part 1 - Comments

Click For Summary
SUMMARY

The forum discussion centers around the "Computer Language Primer - Part 1" article by phinds, which serves as a foundational reference for discussions on programming languages. Participants reflect on the historical evolution of programming, from machine language and hex dumps to modern high-level languages. Key topics include the significance of early programming techniques, such as self-modifying code and event-driven programming, as well as the importance of understanding the origins of programming languages to inform current choices. The discussion highlights the need for clarity in language classifications and acknowledges the contributions of various languages, including Fortran, LISP, and COBOL.

PREREQUISITES
  • Understanding of programming language history and evolution
  • Familiarity with machine language and assembly programming
  • Knowledge of high-level programming languages such as C++, Java, and Python
  • Awareness of programming paradigms including object-oriented and functional programming
NEXT STEPS
  • Research the historical context of programming languages, focusing on the transition from machine code to high-level languages
  • Explore the concept of self-modifying code and its applications in older computer architectures
  • Learn about the differences between interpreted and scripting languages, including examples like JavaScript and Python
  • Investigate the role of legacy languages such as Fortran in modern scientific computing
USEFUL FOR

This discussion is beneficial for software developers, computer science students, and anyone interested in the historical and technical aspects of programming languages and their evolution over time.

  • #61
phinds said:
But that does NOT even remotely take advantage of things like inheritance. Yes, you can have good programming practices without OOP, but that does not change the fact that the power of OOP far exceeds non-OOP in many ways. If you have programmed seriously in OOP I don't see why you would even argue with this.
I guess it's a matter of semantics. There was a time when OOP did not automatically include inheritance or polymorphism. By the way, the full OOP may "far exceed non-OOP", but there are still mission-critical and/or safety-minded industries where "virtual" is a dirty word.

Personally, I am satisfied when the objects are well-encapsulated and divided out in a sane way. Anytime I see code with someone else's "this" pointer used all over the place, I stop using the term "object-oriented".
 
Technology news on Phys.org
  • #62
.Scott said:
...there are still mission-critical and/or safety-minded industries where "virtual" is a dirty word.
Yeah, I can see how that could be reasonable. OOP stuff can be nasty to debug.
 
  • #63
rcgldr said:
What about the "dot" directives in MASM (ML) 6.0 and later such as .if, .else, .endif, .repeat, ... ?

https://msdn.microsoft.com/en-us/library/8t163bt0.aspx

phinds said:
Conditional assembly does not at all invalidate Scott's statement. I don't see how you think it does. What am I missing?
It's not conditional assembly (if else endif directives without the period prefix are conditional assembly). Some of the dot directives are like a high level language. MASM (ML) documentation refers to these a decision directives (.if .else .endif ...) and looping directives (.while .break .continue ...) . For example:

Code:
        .if     eax == 1234
        ; ... code for eax == 1234 goes here
        .else
        ; ... code for eax != 1234 goes here
        .endif
The dot directive code sequence will most likely generate the following code sequence, except that the coder didn't need to use any labels with the dot directives.
Code:
        cmp     eax,1234
        jne     short lbl0
        ; ... code for eax == 1234 goes here
        jmp     short lbl1
lbl0:
        ; ... code for eax != 1234 goes here
lbl1:
 
Last edited:
  • #64
Where does something like Scratch fall in these? Just another high-level language? Interpreted, or compiled?
 
  • #67
jedishrfu said:
Where's part 2?
I've got it about 1/3rd done but it's a low priority for me at the moment
 
  • Like
Likes   Reactions: Greg Bernhardt and jedishrfu
  • #68
phinds said:
I've got it about 1/3rd done but it's a low priority for me at the moment
No no! high priority! high priority! :biggrin:
 
  • Like
Likes   Reactions: phinds

Similar threads

  • · Replies 102 ·
4
Replies
102
Views
2K
  • · Replies 122 ·
5
Replies
122
Views
16K
  • · Replies 62 ·
3
Replies
62
Views
13K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 25 ·
Replies
25
Views
4K
  • · Replies 46 ·
2
Replies
46
Views
5K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 11 ·
Replies
11
Views
2K