Excellent presentation, Edson made a great work explaining concepts and why he is doing it in that way!!! Could be possible to get access to the demo project?
I am not convinced. Making three classes and writing 200 lines of code, many of which you have to scroll to see the ends of, to make sure that a list is ordered is not clean code.
A note right at the start: He spent a lot of time trying to fix some API compatibility issues. Therefor "Write once run everywhere" is nonsense. Java has failed at its primary purpose. Now I will watch to see if there is anything in the area of making clean code that says Java is better than C, C++, Pascal, or Javascript.
IMHO there is no better or worst programming language! it depends on what you are trying to do! "Write once run everywhere" is NOT nonsense, Upgrading JVM and fixing API compatibility issues is something different. If you have a compiled Java code, you can run it under the same compatible JVM on different machines/OSes, AFAIK in languages like C, C++ or Pascal which you have to compile them to machine code, if you want to run them on different machines/OSes you have to compile and link them to correct libraries for those specific machines, also you need to have different directives in your source code to have the right code on different platforms.
Javad Mowlanezhad While it is possible that the goal of a program could well include confusing the poor sucker who has to maintain it, I don't really think this a worthy goal. I bothered to learn Java some years back. I made a toy application using Swing. I tried it on 32 bit Windows, 64 bit Windows and 32 Bit linux. Each had the most up to date (of the time) JRE. Which one I compiled on mattered to which one it crashed on. Jave byte code is interpreted. Thus it should be compared to other interpreted languages like Matlab, Octave, tcl bash, APL and basic and not to compiled languages. I can write a LibreOffice macro and run it on Windows and on Linux. This is the fairer sort of comparison. Using something like FreePascal, I can compile and run on Windows or Linux and then run it on the machine I compiled on. Since Java needs the JRE to be installed, there is not a lot of difference with needing FreePascal installed. I don't have to change my source code to make it work. If I write a bash script, I can now run it on Windows just by installing a tool from Microsoft. Thus bash can be "write once run anywhere" so long as no external programs are called.
I think we are talking about different things, but I still think we need to choose the right tool for the job! Every languages and platforms have their own policy for backward compatibility and deprecation, I'm sure you can find it in any languages you've been used since the beginning no matter if it's compiled to machine code, byte code or just interpreted the code. When I'm writing a bash script and see it's recommended to use $() instead of `` it can be concluded that `` is going to be deprecated sooner or later. Back to FreePascal, isn't there any deprecated API? Again, I am talking about version compatibility NOT how we run it under different platforms. PS: IMHO there is no good or bad programming languages, but there is possibility to choose the wrong language/tool for the job.
Javad Mowlanexhad: I think you may well have mistaken my meaning. Specific to the "right tool for a job" I very much agree about selecting the right tool. This doesn't mean that I believe that for every tool there is a job. Some tools were just a bad idea. Currently, bash does work everywhere. That doesn't mean they won't break it in the future. I had it on the list because of current status. The nice thing about the FreePascal compiler is that the Pascal it implements does all the needed adapting for you. The language has file operations etc defined. You don't have to reach out to the underlying OS to do the things it can do. I suggest you google on bad programming languages
If Java really failed in the "run anywhere" promise , why are we having this discussion in the first place 22 years after it was introduced , hmm let me think may be Java is Meth , it explains why millions of developers are hooked to it except you ken.
Thank ,but was all this complexity necessary for do that?
nice music at the start of this video. I really enjoyed it and lifted my spirit up . haha
If he wants to change the Guava library to another, he will happy! Guava dependencies in each class, great!
That intro gave me anxiety lol
Excellent presentation, Edson made a great work explaining concepts and why he is doing it in that way!!! Could be possible to get access to the demo project?
I am not convinced. Making three classes and writing 200 lines of code, many of which you have to scroll to see the ends of, to make sure that a list is ordered is not clean code.
You can use Lombok to simplify those codes. What he meant was to demonstrate of what should be "clean code" that is easier to maintain later on.
Using lombok would have significantly cut the boilerplate code from this talk. The first 30 minutes were plain boring to watch.
Hello the project isn’t on github
a?
Sorry, but so many "ahhmm"s.. next time try to give a clear pronunciation. That is quite important when people are listening to you.
11:02 This is Effective Java, which he used static factory method instead of public constructor
Thank you
A note right at the start:
He spent a lot of time trying to fix some API compatibility issues.
Therefor "Write once run everywhere" is nonsense. Java has failed at its primary purpose. Now I will watch to see if there is anything in the area of making clean code that says Java is better than C, C++, Pascal, or Javascript.
IMHO there is no better or worst programming language! it depends on what you are trying to do!
"Write once run everywhere" is NOT nonsense, Upgrading JVM and fixing API compatibility issues is something different. If you have a compiled Java code, you can run it under the same compatible JVM on different machines/OSes, AFAIK in languages like C, C++ or Pascal which you have to compile them to machine code, if you want to run them on different machines/OSes you have to compile and link them to correct libraries for those specific machines, also you need to have different directives in your source code to have the right code on different platforms.
Javad Mowlanezhad
While it is possible that the goal of a program could well include confusing the poor sucker who has to maintain it, I don't really think this a worthy goal.
I bothered to learn Java some years back. I made a toy application using Swing. I tried it on 32 bit Windows, 64 bit Windows and 32 Bit linux. Each had the most up to date (of the time) JRE. Which one I compiled on mattered to which one it crashed on.
Jave byte code is interpreted. Thus it should be compared to other interpreted languages like Matlab, Octave, tcl bash, APL and basic and not to compiled languages. I can write a LibreOffice macro and run it on Windows and on Linux. This is the fairer sort of comparison.
Using something like FreePascal, I can compile and run on Windows or Linux and then run it on the machine I compiled on. Since Java needs the JRE to be installed, there is not a lot of difference with needing FreePascal installed. I don't have to change my source code to make it work.
If I write a bash script, I can now run it on Windows just by installing a tool from Microsoft. Thus bash can be "write once run anywhere" so long as no external programs are called.
I think we are talking about different things, but I still think we need to choose the right tool for the job!
Every languages and platforms have their own policy for backward compatibility and deprecation, I'm sure you can find it in any languages you've been used since the beginning no matter if it's compiled to machine code, byte code or just interpreted the code.
When I'm writing a bash script and see it's recommended to use $() instead of `` it can be concluded that `` is going to be deprecated sooner or later.
Back to FreePascal, isn't there any deprecated API?
Again, I am talking about version compatibility NOT how we run it under different platforms.
PS: IMHO there is no good or bad programming languages, but there is possibility to choose the wrong language/tool for the job.
Javad Mowlanexhad:
I think you may well have mistaken my meaning.
Specific to the "right tool for a job"
I very much agree about selecting the right tool. This doesn't mean that I believe that for every tool there is a job. Some tools were just a bad idea.
Currently, bash does work everywhere. That doesn't mean they won't break it in the future. I had it on the list because of current status.
The nice thing about the FreePascal compiler is that the Pascal it implements does all the needed adapting for you. The language has file operations etc defined. You don't have to reach out to the underlying OS to do the things it can do.
I suggest you google on
bad programming languages
If Java really failed in the "run anywhere" promise , why are we having this discussion in the first place 22 years after it was introduced , hmm let me think may be Java is Meth , it explains why millions of developers are hooked to it except you ken.