I used to be really excited by Scala, but after reading how people actually write it? I'm not impressed. It seams they want it to be Haskell, but it's not.
+Casper Casper As an outsider who's considered often making the jump to Scala I often find something that legitimately holds me back. At the moment it's the size and performance of the runtime that makes me baulk for mobile app use. Given Android has a 65K method ceiling (which is easily hit once you throw a few frameworks in there) address space is precious.
I'm currently implementing Lambda and Stream API in Java 8 in my current project. The code become easier to read and concise than old Java style. Can understand why +Dean Budd and +Bryan Murphy being die-hard supports of functional programming. Wish I could write this Java app in whole functional fashion.
BTW, I don't believe Java will be disappeared soon from enterprise app and Android development. Every computer language needs an ecosystem for its a long term sustainable growth or survive. This is from the economists view, not computer scientists because computer geeks think they could live without oxygen.
JavaScript has the potentials to become a full stack programming language, but long way it could overturn the domination Java in enterprise unless JS could make breakthrough in integration solutions.
Anyway I'd better stop ranting and insulting for now in case starting another language war ... ...
Dean Budd - 2015-08-02 07:41:56+1000 - Updated: 2015-08-02 07:51:50+1000
I think the problem was teaching Java in the universities. They didn't do this to teach object oriented development, if you want to do that use Smalltalk, they did it to churn out "Java developers" ready for the industry. Trouble is, they never taught the important stuff like TDD or DDD, so the industry got flooded with developers who knew some syntax and maybe how do to inheritance and that was all. Java is not an academic language so they shouldn't be taught it there. In my day, it was all about the science and not the job market.
+Dean Budd University should NOT have computer science subject for undergraduate study I reckon in current education system. Uni students should learn physics or mathematics during the first few years to get a bachelor degree at first. Then they could pickup computer subjects during postgraduate study.
I have seen so many good developers are physics and mathematics even music degree background. And have seen so many IT "workers" learn computer knowledge after graduate from TAFE in two years, or move up by playing minesweeper.
Wrong, wrong, wrong.
Now you can see why a lot resources have been allocated in shit cleaning than creative work.
So you're all in favour of the Melbourne (University) model 'ey +Terrence Miao ;) Too bad our government doesn't want you to actually learn, they just want you to run through the Degree Factory(TM) and rack up huge loads of debt in the process because ..... well there is no valid reason, they're just a bunch of dickheads.
I personally think Monash used to have the right balance between the core computer science subjects, and more "industry" oriented subjects so graduates could actually get a job. But then they changed, and first years learn Java /sigh
+Kieran Simpson Physics and math won't teach you TDD or DDD, but both of them build you a good foundation of analytic thinking and more important distinguish inference skill.
So many PhD graduate who study physics or math in Ivy League schools but can't find job then have to switch to I.T. in companies in Silicon Valley. To them, programming and Java are like arithmetic book in junior school to them. They can easily learn, master and flourish. It's not because they are talent, but because the basic problem solving skills fostering during their uni study.
I don't disagree +Terrence Miao about the problem solving skills. I was poking fun at the ridiculous state of our higher education system. Looking back with hindsight, the only thing I would have changed about my uni studies was learning FP earlier in the course before my brain was wired too imperatively. That and now allowing the on campus bar to shut. I mean c'mon!!!
+Terrence Miao I can't understand the idea that computer science shouldn't be a bachelor subject, if that was the case there would only be self taught programmers, with zero understanding of theory.
The only language they actually taught me at uni was C. Every other subject mearly used a language as a way of teaching computer science concepts. We were expected to teach ourselves the languages themselves. Learning the concepts was the main point.
A breadth of languages covering a breadth of topics, as it should be.
Software testing was sorely missing, as was any sort of build and deployment, or sys admin stuff. All of which was seen as 'too practical' I would guess.
TDD should of course be taught as part of any practical programming course now, but it certainly was not popular at the time.
+Kieran Simpson agreed FP should be taught first alongside imperative. They represent two sides of core programming abstractions.
I had a very similar academic experience as well +Casper Casper. Very little deep-diving into any actual language, but a lot a theory. Surprised they don't do this these days. We also covered those other 'weird' paradigms like logic (Prolog) and rules based languages. We used Hope for FP.
James Gemmell - 2015-08-05 17:22:50+1000 - Updated: 2015-08-05 17:28:58+1000
We learned Pascal and then moved onto C in 2nd year. Scheme later replaced Pascal. Best module I ever took was in 2nd year on languages, using an ML-like syntax to teach most concepts from OO through lambdas, lazy evaluation and FP. Flipping brilliant, now if only I could remember what textbook we used. :-/
On the subject of learning stuff early - I was taught LISP and Prolog in high school but didn't really grok it until 2nd year uni. But when I did, WOW, it was like the seeing the world in green Kanji. :-)
I really wish we'd been taught some kind of ml and fp specifically. It made it really hard to grok them later on. I did lisp as part of artificial intelligence, but the language itself wasn't really taught and imperative lisp is not pretty.
HAHAHA
<deleting...>
It seams they want it to be Haskell, but it's not.
BTW, I don't believe Java will be disappeared soon from enterprise app and Android development. Every computer language needs an ecosystem for its a long term sustainable growth or survive. This is from the economists view, not computer scientists because computer geeks think they could live without oxygen.
JavaScript has the potentials to become a full stack programming language, but long way it could overturn the domination Java in enterprise unless JS could make breakthrough in integration solutions.
Anyway I'd better stop ranting and insulting for now in case starting another language war ... ...
In my day, it was all about the science and not the job market.
I have seen so many good developers are physics and mathematics even music degree background. And have seen so many IT "workers" learn computer knowledge after graduate from TAFE in two years, or move up by playing minesweeper.
Wrong, wrong, wrong.
Now you can see why a lot resources have been allocated in shit cleaning than creative work.
I personally think Monash used to have the right balance between the core computer science subjects, and more "industry" oriented subjects so graduates could actually get a job. But then they changed, and first years learn Java /sigh
So many PhD graduate who study physics or math in Ivy League schools but can't find job then have to switch to I.T. in companies in Silicon Valley. To them, programming and Java are like arithmetic book in junior school to them. They can easily learn, master and flourish. It's not because they are talent, but because the basic problem solving skills fostering during their uni study.
http://www.quora.com/What-is-the-impact-of-mathematics-in-computer-science
The only language they actually taught me at uni was C.
Every other subject mearly used a language as a way of teaching computer science concepts. We were expected to teach ourselves the languages themselves. Learning the concepts was the main point.
A breadth of languages covering a breadth of topics, as it should be.
Software testing was sorely missing, as was any sort of build and deployment, or sys admin stuff. All of which was seen as 'too practical' I would guess.
TDD should of course be taught as part of any practical programming course now, but it certainly was not popular at the time.
+Kieran Simpson agreed FP should be taught first alongside imperative. They represent two sides of core programming abstractions.
Surprised they don't do this these days. We also covered those other 'weird' paradigms like logic (Prolog) and rules based languages. We used Hope for FP.
en.wikipedia.org/wiki/Hope_%28programming_language%29
Learned C, Pascal, Basic, Ada, Fortran, Smalltalk ... ... programmed on mainframes like Honeywell, PDP-11, VAX-785, and IBM PC XT, Apple II ... ...