Kotlin 1.0 Released
Qbertino writes: Kotlin, one of the challengers to Java's VM, has been released in version 1. Kotlin is object-oriented, statically typed and comes with professional IDE support by Jetbrains — which is no big surprise, since it's the Jetbrains employees who developed the programming language that saw the light of day four years ago. Kotlin is already in real-world use and development will be moving into fleshing out the Kotlin feature set without breaking backwards compatibility. These features include planned support for JavaScript — which sounds interesting considering JS has gained quite some traction recently. Kotlin is FOSS and is released under the Apache license.
I would imagine this is literally riddled with security vulnerabilities at this point. I think I'll wait 4 more years until 2.0 comes out.
According to its webpage, this is a JVM-based language.
Provide an actual working installer, instead of that Sun invented piece of misnamed, misplaced piece of camel dung instlaler. First you have the magicalliy renumbering component versions, then the "you have to formally sign a user agreement" to instlal it, then for RHEL and CentOS and Fedora and SuSE users you get misnamed "rpm.bin" piece of sticky doggy mess that violates the File System Hierarchy and whose RPM package name does not match the name of the RPM file.
There are reasons some of us gave up on using anything from Sun, and it's sad to see Oracle continued the same stupid practices. If these Java variant exert the slightest care in packaging, they can pick up a few clients right there.
does it run Java? ... Why not either invent a language or a VM?
The Java VM can run a couple dozen languages, including Javascript, Ruby, Python
Inventing a language is stupid if you don't take advantage of existing libraries -- in particular for Java.
NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
Which is it? The summary makes it sound like Kotlin has its own VM (JVM compatible I'd assume) to compete with Oracle's JVM. The web page makes it sound like Kotlin is just a language that compiles to the JVM's bytecode. Which is it? Or is it a both?
Kotlin is yet another language to be run in the JVM. It is not a competitor to the JVM as the description suggests.
Switching from yearly upgrades to their current rent-seeking behavior has lost them a ton of customers already.
Their self-inflicted wound will kill them sooner rather than later so this is meaningless.
Its syntax is Java like in its lack of expressiveness and verbosity. What is the point when Scala, Clojure and JRuby are all more expressive and much more mature?
All the new JVM based languages that are popping up are just syntactic sugar on top of Java. The real concepts can't be shaken, as the JVM is pretty much limited in what it can do and what it can't.
Telling from the examples, Kotlin seems to be a good example: Yet another poor copy of Java with some "obsolete" things like the semicolon removed (why is there so much hate for it?), and you write "fun" instead of "function". So what. I don't think this makes me more productive than Java. Its just for all the people who keep preaching "java is shit" because they've heard it somewhere and now they want to use a "much better" language.
If Kotlin suits, Java is fine for the job as well, and most likely its even better.
Your opinion is full of factually incorrect and incoherent blather.
Pro-tip: Save time and what little brain-power you have by posting these simple words: "I am a fucking moron".
It says the same thing you posted.
Timothy Lord, you have a coconut for a brain
Red Hat managed to spend five years on Ceylon, a JVM language almost nobody wants to use.
Great to see a sane alternative gaining traction.
If there's one thing we should have learned about these languages that target the JVM it's that they're all hype-driven and are largely forgotten about a year or two later.
JRuby and Jython were widely hyped a few years ago, then they were promptly forgotten.
The hype moved on to Scala. It, too, has been largely forgotten.
The hype then moved to Clojure. The hype wore off of it pretty quickly, and it also has now been largely forgotten.
Ceylon was hyped briefly, but it hasn't gone anywhere, and has been forgotten.
Now Kotlin is the hyped JVM language of the day.
My prediction is, like all of its predecessors, that it'll be forgotten soon enough.
The hipsters who are hyping it will have moved on to the next hyped JVM language, perhaps as early as next year.
Meanwhile, everyone doing real work with the JVM will continue to use Java, just like they've been doing for about two decades now.
java8 already has a javascript engine.
I took a quick look at it and - while I kinda get the appeal - it just seems to me to be too much variation from standard coding practices and, as someone who spent way too much time deciphering kabuki-like single line C statements that should have been a proper function, I'm not a big fan of shortness for the sake of shortness. I personally have found that standard JPA and Java, with much help from OpenXava, is the best combination of ease-of-development and flexibility for my app needs. But, that's just one man's opinion...
why we can't use C++ and C++ style derivatives for compiled code (cross compiled to many platforms), and then for interpreted needs use javascript, python, or whatever floats your boat on top?
There's some interesting languages out there with other features. Haskell comes to mind, as a pure functional language. It's not just pretty syntax, but a different way of thought that provides some features and power that C++/Java style imperative languages can't match. They're so different that you need different compilers really. You can't always write a Haskell program and "translate" it to C++, certainly not without re-architecting. Of course, there may be things an object oriented style is better suited for too, but just pointing out that some languages have different paradigms and therefore contribute new ideas to software development. That sort of exploration and research I think is important. I don't think we should be so quick to assume Java/C++/Python/whatever is the only language that is ever needed (which maybe is not what you meant, so I don't mean to attack you comment, just writing a thought that popped in mind based on yours).
A large amount of the languages these days seem to be more "domain-specific", that is, not very different from some underlying language, just adding some syntactic sugar for some specific problem or complaint while ignoring other drawbacks. I suppose that iteration is good though, as its catching the most important -- and serious? -- errors and making it easier to avoid those problems. 'm partial to investigating totally new concepts to see if we can build more resilient and secure software than to keep iterating what is already known to have drawbacks, but it's probably good that we do research from both ends -- incrementally improve what we have to take away certain known bugs and get it out the door *now*, while researching new ideas that perhaps will do away with whole classes of bugs for good (as well as make more powerful software in general).
Developing for java using one of the popular IDEs is a real resource hog. There's no getting away from that. Developing for java using make files and bash scripts is FAST. Problem is, most people need code completion, etc. to hold their hand. If c programmers needed that level of support, they'd be told to go back to school and really learn the language.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
Huh?
In OpenSuse using the binary from Oracle gives no issues. It installs in usr/bin/java and unlike Windows, I never need to change JAVA_HOME because there are softlinks in usr/java/latest to the most recent java version, so I never have to futz with update_alternatives unless I need an older version, which I never do.
I am not sure what weird thing you are doing to get the behavior you describe but that is not the case with any version of opensuse I have ever used and I have used every version from 9.x to Leap 42.1.
Formally sign a user agreement? You mean clicking a checkbox on the download page? I am not sure that qualifies as formally signing anything.
I'm more into numerical modeling and such, and I agree IDE's need a lot of resources, but what's wrong with an IDE checking your variable consistency, object exposure, and having a debugger that makes it easy to see your values without writing print files?
"Who are you?" "No one of consequence." "I must know." "Get used to disappointment."
The best XML IDE on the planet is written in Java.
(And, no, I don't work for them; I've just been using their product on a daily basis for nearly ten years.)
Il n'y a pas de Planet B.
The best XML IDE on the planet is written in Java.
(And, no, I don't work for them; I've just been using their product on a daily basis for nearly ten years.)
That's kind of like saying "The best dog poop comes from $WHO_GIVES_A_SHIT." :-) xml was a big mistake we will always be paying for.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
> Problem is, most people need code completion, etc. to hold their hand. If c programmers needed that level of support, they'd be told to go back to school and really learn the language.
You are either missing the point of introspection or are like the mighty caveman telling people they don't need a roof. Both kinds of ignorance are controlled for in the market and by genetics. SMH
How can you be so wrong?! It tells you exactly what it is on the page you linked: an alternative to Java that runs on the JVM. Why "assume" things when you can just spend two minutes reading about it/
Don't need it, it makes things faster and mistakes less likely. I know a variable is called height in a class called Rectangle, but why would I not have it basically type out int height = rectangle.height by me typing int height = rec, hitting enter then hitting enter again? That's just one feature, it has hundreds or thousands of small things that make developing faster. Why would you drive a car when you could just walk? Why would you drink water out of a tap when you could just go to a river? The answer is that it's easier and faster and if you don't recognise that it is YOU that needs to go back to school.
JetBrains also has a C/C++ IDE that does practically the same thing and I guarantee projects are finished faster with less mistakes using it.
You don't need introspection if you know what you're doing. Plenty of C/C++ programmers work without it and do quite well. The more you know what you're doing, the less likely you are to make a mistake. But keep on claiming that requiring hand-holding is somehow the hallmark of an experienced professional instead of training wheels.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
I've been using Sun/Oracle Java on (open)SUSE since SuSE 9.something times. Never ran into any of the issues you describe. 'which java' always gives me '/usr/bin/java', and the provided symlinks to /$latest/ take care of the versioning issues.
Il n'y a pas de Planet B.
JetBrains C and C++(no such language as C/C++) IDE is unadulterated shit.
Java is about the easiest versioned software you can deploy with configuration management tools like Puppet.. unzip -d /anywhere/jdk_anyversion jdk_anyversion.zip
Optionally make a symlink to a default version.
Zip it up once, extract anywhere you want, as many versions as you need, totally location independent. Rinse and repeat for any OS.
Try deploying multiple versions of the Perl runtime, on multiple OS. See how far RPM and FHS takes you.
Professional developers often need to work with multiple languages. No developer needs to completely learn every language before using it; that would be very counter-productive and much of that knowledge would likely be lost in a couple of weeks. If I was supervising a developer that insisted on completely learning a new language before starting to use it at all, I'd tell them to take a hike.
And that doesn't even mention frameworks and third party libraries. I've been developing primarily in C# for 14 years and I still don't have the entire BCL memorized. Particularly frameworks I rarely use and new APIs I haven't gotten around to using.
All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
So says every C programmer, just after they commit another heartbleed to the repo...
Kotlin isn't a "challenger to Java's VM"; it would be great if it were, given how awful the Java VM is. In fact, Kotlin is simply one of dozens of languages on top of the Java VM.
Kotlin doesn't seem to be too different from C# or Swift to be worth investing time or money in it.
I'm always interested in new languages, unless they are JVM languages. I just don't like JVM.
Scala was interesting to me, but I don't use it because I don't want to mess with JVM.
Kotlin looks interesting, but... I just can't stand the pain of messing about with JVM.
Do you develop using notepad, or do you use some sort of syntax hilighting and macro-enabled editor that you refuse to refer to as an IDE for some illogical reason?
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
If c programmers needed that level of support, they'd be told to go back to school and really learn the language.
Code completion is rather useful for libraries. It has obviously nothing to do with "language".
And I rather have my method calls autocompleted, especially when I also autocomplete arguments, than having the compiler give me 25 errors per file I worked on the last hour because I have a typo every where.
There are plenty of reasons why people use auto completion ... "not knowing the language" is very likely the least one.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
http://studencik.com.pl/shop/4276-530-thickbox/ketchz-piekla-450-kotlin.jpg
You would expect a developer to become more proficient as time goes on (unless you're jumping from one language fad of the week to another, which is poor planning, and the supervisor should be fired, along with whoever hired them). Training wheel IDEs mitigate against developing said proficiency.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
Lame comeback. Is that all you've got?
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
gedit, gmake, and bash, with a few perl scripts to take care of versioning. That's not an ide. And no, I don't use macros or syntax highlighting.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
I wrote an extension for my company's bug tracker, Redmine. None of us knew Ruby, but we needed to write an extension for it. I got up to speed but I didn't need to learn the entire language, and didn't need to work with it for quite a long time after the work was completed. There was no need for me or anyone else in the company to "become more proficient as time goes on". And it wasn't some fad as you suggest. It was a legitimate professional need.
All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
Lame comeback. Is that all you've got?
--
this post brought to you by the letter 't ' for transsexual, which has nothing to do with the greater LGBT group
Your mother's a whore and should have aborted her tranny baby
Ruby is and was a fad. It's a dying language so now you are going to have to rewrite it in a proper language. Perhap C? C++?
Come on, tell us how you REALLY feel ...
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
Please tell my you are joking. When in Eclipse the Java is incrementally recompiled WHILE YOU ARE TYPING. It is not FAST, it is INSTANTANEOUS.
The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
Dream on. NOTHING is instantaneous, and certainly not Eclipse. Make too many edits too quickly, and have fun typing while it tries to catch up. Not all of us are hunt-and-peck typists.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
Any IDE is a resource hog. Try VS, that is just as piggy.
InteliJ doesn't need 8 GB or anything near that.
gedit, gmake, and bash, with a few perl scripts to take care of versioning. That's not an ide. And no, I don't use macros or syntax highlighting.
Ah the memories of the 1990s, and flame wars in comp.lang.perl over whether syntax highlighting editors were evil or not. Who knew it would come around again?
Your whole argument is an example of Anecdotal Fallacy; "using a personal experience or an isolated example instead of sound reasoning or compelling evidence". Your setup presumably suits your personal purposes, but asserting that everybody who doesn't do it your way is stupid, wrong and unprofessional is fundamentally flawed. And makes you look foolish. Good developers use the appropriate tools for the job.
Never claimed that my personal setup is the one that everyone should use. I was pointing out the FACT that it's easy to do Java development without a bloated hand-holding IDE (see the subject line). So what fallacy have you just engaged in? Hmm... where do I start ...
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
I was pointing out the FACT that it's easy to do Java development without a bloated hand-holding IDE.
...the FACT that it's easy to do small-scale Java development without an IDE
FTFY
You keep using the terms "bloated" and "hand-holding" without providing any evidence; just your own personal opinion.
Judging from your own choice of tooling ("gedit, gmake, and bash, with a few perl scripts to take care of versioning") you've never worked on a significant development project, or in a serious development team.
gmake for build? Really? Never heard of Maven, or Gradle, or other modern build tools? They not only build your code but they also do things like run your unit and system test suites too (you do use automated testing, right?). And you don't have to hand hack make files. And they can even be run directly from the command line.
"bash, and a few perl scripts to take care of versioning"? Really? Never heard of git, mercurial, or even subversion. Or is using an actual version control system too "bloated and hand-holding" for you?
And how do you think your DIY approach will work in continuous build and continuous deployment environments? Or with a team of 20+ developers. Or when half the team is in a different city, or a different country?
You are fully entitled to your own opinion. But making out that everyone who doesn't agree with your approach is some kind of feeble-minded loser just displays a profound ignorance of modern professional software development.
Funny how the original developers of Java didn't need a bloated Java IDE to develop it ... or is Java "small-scale"?
As for the rest, to each their own. I never said that my way was the best way for everyone, so go dunk your head in a bucket of water and cool off a bit.
A file-based version control system should allow you to rebuild any or all versions in one shot. Makes it easy to keep everything backed up on other media without installing and configuring other software, and sharing with others. KISS beats complex any day. Having policies of who can modify what is also important - "you touch this, I KILL YOU" - so that takes care of teams. Being able to build, or branch off, any specific version at any time takes care of the rest.
"Modern professions software development" "using industry-standard best practices" has failed in too many ways to even begin to count. Or haven't you noticed that, instead of shipping completed products on floppies or cds, they now "ship and patch and patch and patch and patch and patch and ..." because of the mindset of "we can patch it later so who gives a crap." The so-called "gold masters" are a lie.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
Funny how the original developers of Java didn't need a bloated Java IDE to develop it ... or is Java "small-scale"?
As for the rest, to each their own. I never said that my way was the best way for everyone, so go dunk your head in a bucket of water and cool off a bit.
A file-based version control system should allow you to rebuild any or all versions in one shot. Makes it easy to keep everything backed up on other media without installing and configuring other software, and sharing with others. KISS beats complex any day. Having policies of who can modify what is also important - "you touch this, I KILL YOU" - so that takes care of teams. Being able to build, or branch off, any specific version at any time takes care of the rest.
"Modern professions software development" "using industry-standard best practices" has failed in too many ways to even begin to count. Or haven't you noticed that, instead of shipping completed products on floppies or cds, they now "ship and patch and patch and patch and patch and patch and ..." because of the mindset of "we can patch it later so who gives a crap." The so-called "gold masters" are a lie.
I'm tempted to mod this as "Funny". It's certainly the most hilarious thing I've read today.
FWIW I haven't shipped software on physical media in years. That's what "continuous deployment" means; a continuous rolling cycle of automated build, test, and live deployment - sometimes daily. And the "test" part matters, because most paying customers do "give a crap" about the software working correctly.
As for the rest of it, it just confirms what I said in my last post.
Good luck in your programming career. You're going to need it.
Continuous deployment is an excuse for not being able to nail requirements the first time. Get the requirements right the first time, write it right the first time, test it right the first time, is a lot better than the sorry excuse that is "continuous deployment." It might be good enough for a piece of shit website, but it's not good enough for real software - the users simply won't tolerate paying for something that is in continuous alpha.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.