Deleted
Deleted Member
|
Post by Deleted on Apr 4, 2018 7:15:20 GMT
Ok, so here goes my story. I was sitting, doing my daily routine, and all of a sudden there was a thunder in the distance and God told me: "The Big Bad Wolf, start programming" and so I did. How about you?
|
|
Deleted
Deleted Member
|
Post by Deleted on Apr 12, 2018 9:50:36 GMT
I found programming before God. I just loved progamming right away, I could make things on my own without having to deal with other people. Only later when I read the Old Testament did I realize that I was progamming wrong, making things too complicated. Now I program in the style of the Torah. bitbucket.org/frschmidt/luanWhat do you mean?
|
|
|
Post by fschmidt on Apr 12, 2018 19:04:51 GMT
Only later when I read the Old Testament did I realize that I was progamming wrong, making things too complicated. Now I program in the style of the Torah. bitbucket.org/frschmidt/luanWhat do you mean? I wrote some thoughts about programming here: www.mikraite.org/Core-Programming-Principles-tp1237.htmlBut if you know java, then my code is the best illustration. For example, here is a webserver that I wrote: bitbucket.org/frschmidt/luan/src/tip/src/luan/webserver/This is a fully functional webserver used in production (behind nginx proxy). I wrote it because all existing java webservers are horrible. When I wrote it, I went out of my way to violate all modern principles of programming. I kept it very simple. I started by asking what exactly a webserver does and defining an interface based on that and only that: bitbucket.org/frschmidt/luan/src/tip/src/luan/webserver/Handler.javaThe entire webserver is built around this minimilistic interface. Now let's look at Request and Response: bitbucket.org/frschmidt/luan/src/tip/src/luan/webserver/Request.javabitbucket.org/frschmidt/luan/src/tip/src/luan/webserver/Response.javaThese classes are complete violations of modern practices. The data is completely exposed, intentionally. No hiding data behind methods. They are very raw, directly reflecting the HTTP protocol instead of putting some new (bullshit) layer on top of HTTP as all modern code would do. My top value is simplicity. Second is transparency, which means that a class related to HTTP should directly code HTTP concepts and not add new concepts. Before reading the Old Testament, I programmed in a more conventional way. Now I completely reject modern programming and program in a reactionary Old Testament style. Look through my webserver code. The code is small and readable (unlike modern code). If you read the code, you will understand my view better than from anything I would write here.
|
|
Deleted
Deleted Member
|
Post by Deleted on Apr 12, 2018 19:39:20 GMT
I wrote some thoughts about programming here: www.mikraite.org/Core-Programming-Principles-tp1237.htmlBut if you know java, then my code is the best illustration. For example, here is a webserver that I wrote: bitbucket.org/frschmidt/luan/src/tip/src/luan/webserver/This is a fully functional webserver used in production (behind nginx proxy). I wrote it because all existing java webservers are horrible. When I wrote it, I went out of my way to violate all modern principles of programming. I kept it very simple. I started by asking what exactly a webserver does and defining an interface based on that and only that: bitbucket.org/frschmidt/luan/src/tip/src/luan/webserver/Handler.javaThe entire webserver is built around this minimilistic interface. Now let's look at Request and Response: bitbucket.org/frschmidt/luan/src/tip/src/luan/webserver/Request.javabitbucket.org/frschmidt/luan/src/tip/src/luan/webserver/Response.javaThese classes are complete violations of modern practices. The data is completely exposed, intentionally. No hiding data behind methods. They are very raw, directly reflecting the HTTP protocol instead of putting some new (bullshit) layer on top of HTTP as all modern code would do. My top value is simplicity. Second is transparency, which means that a class related to HTTP should directly code HTTP concepts and not add new concepts. Before reading the Old Testament, I programmed in a more conventional way. Now I completely reject modern programming and program in a reactionary Old Testament style. Look through my webserver code. The code is small and readable (unlike modern code). If you read the code, you will understand my view better than from anything I would write here. I actually support your view here. I shudder like a cat when I see such code. Programmers often make a powerset of classes in object oriented hierarchy. Not long ago I was working on top of a platform written in C/C++ where each such class derived like 10 other classes in diamond inheritance. Each class (with other classes in its hierarchy) composed of more than 10000 lines of code while doing nothing special most of the time (basically whole process was trying to enact a state machine). PS. I try to follow most of the principles given here.
|
|