|
"Up to and including version 9, Java only has two sorts of values - primitive types, and object references."
they have deliberately ceased passing by value of composite data types and they have forbid using any form of programming paradigm other than object oriented.
now they want and need to be able to compare composite data types by value and they will need to pass composite data types by value.
"[in Java]One consequence of this is that the object's identity would be lost, and values would be equal if and only if all their fields are equal. This would make values behave similarly to the primitive types - each copy of the value 42 does not have its own identity after all."
in fact by forbidding options for "our own good" they have made a great burden on all programmers, because they had such a great influence on the industry and academia, not by good deeds, but by advocating for their own benefit.
i'll quote Bjarne Stroustrup here - "[Java] It owes much of its initial popularity to the most intense marketing campaign ever mounted for a programming language. From its initial commercial debut onward, Java was marketed as radically different from, and better than, all other languages. Interestingly, Java was marketed to individuals at all organizational levels -- not just to programmers."
in a way you were forced to use Java, thus you were forced to complexity and fanaticism, verbosity too. now new languages like: Go, RUST are either procedural or like Kotlin allow you to program in that fashion.
sooner or latter those advocates of Java will preach that there are other ways than OOP, but they will not say to you at least "we are sorry for this burden". it will be just like those fanatics creating web pages that only work on IE6. they were the loudest criticizers of IE6 much latter.
brilliant intellects were wasted trying to solve problems the Java way. heavy tomes were written to support this. if you relocate enough talent and resources you will be able to solve problems even with Java. YES, you are not reading me wrong. "Design Patterns: Elements of Reusable Object-Oriented Software" is a burden compared to "Principles of Program Design" by Jackson.
the most painful is maybe the fact that someone decided to make JavaScript too similar to Java and now JS is crippled forever as a functional programming language with this passing by reference. those are not the ways that map and filter work in a good FP language. delete an object from the source array of map or filter and you have destroyed it in the destination array.
it is time to let go of Javaism and enter a renaissance in programming.
whatever THEY do, how many versions of Java THEY write they will never make Java as good and powerful as simple programming languages that don't need a 1200+ pages volume to describe.
i am talking about the likes of: C, Component Pascal, LISP, Modula-2, Smalltalk, REBOL...
i'll just wait and C
|
|
|
|
|
Glad I never touched Java.
OOP is fine for those parts of a system that benefit from it, but it should never be forced upon the other 95%.
|
|
|
|
|
For me Java works very well for building Android apps. I don't really care about some language paradigm wars. I also like object oriented programming.
Try building an android app in C with the NDK and see if it's easier. That's what matters to me.
modified 20-Oct-19 21:02pm.
|
|
|
|
|
Urban Cricket wrote: Try building an android app in C with the NDK
Reminds me of the early 90s and Windows 3. The general opinion was that Windows apps could be developed only in C++.
Until Steve Gibson[^] went and proved that Assembly could be used to even better effect.
|
|
|
|
|
Lol, really? Assembly. Yet most of the code out there is written in JavaScript. Because it's what needs to be done.
modified 20-Oct-19 21:02pm.
|
|
|
|
|
Surely not for Windows 3 apps.
|
|
|
|
|
i have no problem in using Java from an utilitarian point of view. i have a problem with javaism.
you cannot build a native app on android with ease because you will be obstructed. the proces is hard and you are intentionaly discouraged.
even if C was the most elegant and succinct language of all it would have been hard to do things with the NDK.
everything that works on android is thanks to native .so libraries in C on top of linux kernel and you get the java android framework as a wraper and comunication layer to their C library endpoints.
for you to do something as a Java programmer on their compatible JVM on the Android system it first has to be done as a C library. it doesn't work the other way around.
think of the extra work on their side to make native so obfuscated that the artificial way of doing it is easier.
they have done it as hard as posible to use any other language than Java on android.
http://fabiensanglard.net/shmup_android/index.php
|
|
|
|
|
It is true that the underlying code of the platform and most underlying libraries are written in C/C+, but unless you are on the Android team in Google you are better off using some rapid development tool like Java. There are no other alternatives, Kotlin with all due respect doesn't cut it.
If the boss comes to someone to write a validated form for some commerce website, people don't really start developing a new browser in C to do the job, they write some Javascript really.
Edit: Some of the best programmers I have seen were also very opinionated about languages and tools, but in they end they also had to do their actual jobs you know
modified 20-Oct-19 21:02pm.
|
|
|
|
|
certainly.
whatever does the job and is cost-effective is OK.
|
|
|
|
|
sickfile wrote: "Design Patterns: Elements of Reusable Object-Oriented Software" is a burden compared to "Principles of Program Design" by Jackson. Hallelujah, Brother!
Whatever I'm working on, I find that knocking up a quick JSP diagram for it always helps -- it takes next no time, and it just gives you a workable structure to keep in mind.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
Java? Talk to the hand![^]
Latest Article - Slack-Chatting with you rPi
Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Artificial intelligence is the only remedy for natural stupidity. - CDP1802
|
|
|
|
|
|
Not really sure what you point or points are?
sickfile wrote: and they have forbid using any form of programming paradigm other than object oriented
Huh? Java is an OO language, so of course that means you must do OO. How else would it work?
Maybe your point is you want to do functional programming? If so then use Scala. It is functional and it uses the Java VM. Of course the maintenance programmers will suffer for years afterwards when they must maintain it but that shouldn't matter to a true developer.
sickfile wrote: the most painful is maybe the fact that someone decided to make JavaScript too similar to Java and now JS
Not sure what that means but JavaScript has little relationship to Java. But again if this is some reference to functional programming then since functional programming had zero market share when JavaScript was created there would have been no models to base it on even if they wanted to. And given that wasn't their market driven goal anyway it wouldn't have happened.
sickfile wrote: as simple programming languages that don't need a 1200+ pages volume to describe.
I can only suppose that you are confusing "language" with "API" (library support). The Java "language" specification is not 1200 pages and the specification is the exact and sum total description of the "language".
On the other hand if you think you are going to create a modern business enterprise solution using nothing but a single functional programming language and not use one external library then I wish you good luck. But myself I don't want my stock options to be based on a strategy like that which will never work.
|
|
|
|
|
java will collapse under its own weight.
you cannot build something good by forbidding. it has been shown in various processes and in management too.
you have built a "cargo cult" out of your object oriented premise and banned every other creative thought, not just within yourself but you have used your influence (Sun and Oracle) to do that into the academia and the industry. now you want JavaScript distorted with classes just so that you won't feel ashamed when you have to switch from Java to JS.
soon you will find yourself in a dead end and you will need techniques which are contradictory with your primal dogma. you will try to adjust Java and thus it will crumble under it's own weight.
like in the biological evolution, in IT older languages don't suffer this specialization. C and Pascal are not equally well suited for OOP or FP vs newer languages, but they are not hindering the respective philosophies.
Pascal fanatics tried to forbid GOTO, but many experienced C programers showed that GOTO has it's purposes. they have shown that GOTO intrinsically is not the problem.
and at the end, my point from the very first post.
you have input data, you transform it and you have output data.
there are no objects in the equation.
|
|
|
|
|
sickfile wrote: java will collapse under its own weight
So will cobol. But both are still here after I die.
So I am not to worried about my skill sets aging out.
sickfile wrote: you have built a "cargo cult" out of your object oriented premise and banned every other creative thought
Sigh...I didn't "build" anything.
Market share "builds" things. That is why OO won and Case tools did not, as one of only many examples.
There are literally hundreds of programming languages implemented every year and tens of them that get promoted, with no more than an handful managing to become more a blip on the landscape. Because the market decides that.
In contrast for almost every language (hundreds) proponents and consultants will start promoting each because, for them, their vested interest supersedes everything else. That however doesn't mean they are better.
Further actually demonstrating that a given technology is even a little bit better much less market changing at inception is impossible. Economics make it impossible.
sickfile wrote: soon you will find yourself in a dead end
LOL. Sorry, but you seriously do not know what you are talking about. Not about my individual skills and even less about how the market works.
sickfile wrote: like in the biological evolution, in IT older languages don't suffer this specialization. C and Pascal are not equally well suited for OOP or FP vs newer languages, but they are not hindering the respective philosophies.
Another big sigh...I can only suppose you have no idea what you are talking about. Or perhaps that was very badly phrased.
The only "Pascal" that currently ranks in market significance is OO.
And C has been adding OO features for years.
sickfile wrote: Pascal fanatics tried to forbid GOTO, but many experienced C programers showed that GOTO has it's purposes. they have shown that GOTO intrinsically is not the problem.
There are features is every language that are problematic. However that has nothing to do with anything that I said.
sickfile wrote: you have input data, you transform it and you have output data.
Which has nothing to do with delivering products to the market and keeping them running.
|
|
|
|
|
Execution in the Kingdom of Nouns
the market works the way it's being pushed. you should read the interview: Dennis Ritchie, Bjarne Stroustrup and James Gosling.
"[Java] owes much of its initial popularity to the most intense marketing campaign ever mounted for a programming language." - Bjarne Stroustrup.
you don't hear me saying anything against C++, just Java. the reason is Java forbids, but in C++ you can program in any fashion you like. you can even use it as a case tool, as you said.
did you meant case tool of other non strict OO languages too? like LISP, FORTH, C, Rust, Go, Kotlin, JavaScript, Lua? boy, compared to them, Java is a real prison.
one saying that comes to my mind involving OOP and especially Java is "never trust a bald barber".
you've built your world on inheritance and forbidden multiple inheritance. shouldn't multiple inheritance be the pinnacle of OOP? well, if that is so foul do you think that single inheritance can be divine?
when i say you i don't really mean you in person, i say it in plural. industry Java lobbyist, advocates and all the below, Java evangelist, Java minions and least Java hipsters.
i don't have anything against you personally, in singular. you alone don't bother me. program in Java if that is your preference.
you may have already noticed, it makes you a better OO programmer if you do, that there are no objects. it is syntactic sugar. the size of the object is the sum of the data members + some waste, padding, alignment, a pointer here and there, whatever the JVM needs to do to make it work and look like OO... the functions are static and generally have one instance.
they are just functions that take an reference of an instance of the class data type. there is no object utopia there.
"And C has been adding OO features for years." your quote. you shouldn't have said this. it lowers the excitement of arguing with you, because it's not true. there is no sign of C adding OO anything, quite the opposite. some C compilers have a pure keyword for the functions and i believe that will become a standard feature in the years to come. much like the pure functions in FP languages.
although, because Dennis Ritchie the genius made passing by value the dafault way of pushing arguments to a function and returning, no keyword is needed for working with pure functions in C. just follow the rules of pure functions. but only if you wish...
"Java is the most distressing thing to hit computing since MS-DOS." - Alan Kay
-- modified 7-Mar-19 19:48pm.
|
|
|
|
|
Is a rodent's drawing a mouseterpiece?
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
A very Auguste Rodin.t!
Got my site back up after my time in the woods!
JaxCoder.com
|
|
|
|
|
are you taking the mickey?
Message Signature
(Click to edit ->)
|
|
|
|
|
At the rat were going, I gnaw we'll discuss squirreling them away until they litter-aly increase in value.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
It might be a nutria bomb.
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software
|
|
|
|
|
Lemming think about it.....no.
|
|
|
|
|
Let me know if it would be better to create a survey....
background: I handle building a multi-part application that crosses multiple development tools, custom processing, etc. Basing my "automation" work off of some work by another developer, I essentially have a dozen MS-DOS scripts that build each part and then assemble the whole. Now, IMHO, MS-DOS scripting just blows, and I'm being generous. Sure, it gets the job done, but calling it archaic is too generous. So, I'm looking to implement something a bit more modern that will work effectively with a nightly build process.
So, what do you use? MS-DOS script users need not reply
I'm looking at SCons now, but thought I'd get some feedback from CP.
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
I used to work on similar projects and used make and makefiles. They are exceedingly flexible, customisable and work with just about any directory structure. The learning process (as with all) can be a little steep but time spent learning it does pay dividends. I have done something similar on Windows with Visual Studio projects, but on a much smaller scale.
|
|
|
|
|
I perceive you are an old fart (no offense, I am too). I used to use MMS (DEC) - very similar to make. I'm headed in that direction, but I'm looking to put a little more intelligence in it.
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|