[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: What's the easiest and/or simplest part of Linux Kernel?



On Thu, 29 Aug 2013 02:02:11 +0200, <berenger.morel@neutralite.org> wrote:



Le 29.08.2013 01:13, Cousin Stanley a écrit :
Ralf Mardorf wrote:

....
Assembler always is optimized code.

  Not always .... :-)

  One can also write stinky code in assembler.

  Like any programming language,
  some programmers are better at it
  than others ....


--
Stanley C. Kitching
Human Being
Phoenix, Arizona

This is something I understood very recently, and the reason for which I stopped to aggressively disdain Java and C#. The problem is not the language, it's the language's user. Always. If eclipse is slow, huge and buggy (in my experience, 2 years ago, it was.), it's not because it's written in Java, there are very good programs written in Java, and in Debian, you can find games with graphics of 90s, written in C or C++, which are slow as hell on a modern computer.

And nowadays compilers can make code better optimized than you could, too. The question is, what is real optimization? Speed? Size? How many of one? Or of both?

Before that, I learn that it was not windows itself which was buggy, but the softwares I was using. I discovered that last one when I discovered linux, and had some crashes ;) Sounds like it's easy to say it's the language/OS 's fault, and never the programmer's one. Probably easy, but so often wrong.

I think time made me wiser on those points. (funny to notice that when I was a windows users, I was used to write "window$" and "M$" and other insulting transformations which are far worse. Stopped that by discovering another OS.)

I guess a high level language like C, Pascal, Basic etc. is harder to learn than Assembler, while there for sure are reasons that you nowadays program in C. Optimal optimization are speed, size, functionality and stability. Sure, first steps can be easier done with high level languages, but the result usually will be spaghetti code.

Clear formatted, easy to understand, but insane:

Output_to_screen_command "Hel"
jump_to label_x
label_y
  Output_to_screen_command "world"
  jump_to_label_z
label_x
  Output_to_screen_command "lo "
  jump_to label_y
label_z
  finish_program_command

So you learned how to make your computer say "Hello world" and how to jump in R.A.L.F., but you did not learn when it's useful and when it's insane to use the jump command in R.A.L.F. ;).


Reply to: