Page 4 of 8 FirstFirst 1234567 ... LastLast
Results 49 to 64 of 115

Thread: Programming & Graphics - Potential Career+Hobby?

  1. #49
    HEXUS.social member finlay666's Avatar
    Join Date
    Aug 2006
    Location
    Newcastle
    Posts
    8,546
    Thanks
    297
    Thanked
    894 times in 535 posts
    • finlay666's system
      • CPU:
      • 3570k
      • Memory:
      • 16gb
      • Graphics card(s):
      • 6950 2gb
      • Case:
      • Fractal R3
      • Operating System:
      • Windows 8
      • Monitor(s):
      • U2713HM and V222H
      • Internet:
      • cable

    Re: Programming & Graphics - Potential Career+Hobby?

    Quote Originally Posted by j.o.s.h.1408 View Post
    i will try and find a link showing the top used programming languages and its market share.

    Java is like in the top 5. Scala is nowhere to be seen.

    It'll be artificially high if anything Stack Overflow is used as it's an education language so the questions can be from students who usually ask a lot of questions
    H3XU5 Social FAQ
    Quote Originally Posted by tiggerai View Post
    I do like a bit of hot crumpet

  2. #50
    Seething Cauldron of Hatred TheAnimus's Avatar
    Join Date
    Aug 2005
    Posts
    17,168
    Thanks
    803
    Thanked
    2,152 times in 1,408 posts

    Re: Programming & Graphics - Potential Career+Hobby?

    Quote Originally Posted by j.o.s.h.1408 View Post
    i've worked for a few banks as well and they dont have any plan of removing java for now so its far from dead especially in the mobile market where it is actually dominating iOS/objectvie C.
    I can't name names. But lets say that out of the top 5, all but 1 have a policy regarding this. Now in the same way Excel Spreadsheets are ment to be gone. There will still be lots of them about. I will be polite about it, I doubt you are high enough level to be involved in these discussions. You really need to be MD level or consultant priced appropriately.

    I don't think you understand my point. There are still COBOL roles out there. There are still VBA roles out there. There will still be Java roles out there. It's just you are not going to want them, in the same way you don't want the COBOL ones.

    As they say in finance the trend is your friend. Java is as a language dead. The new developments are taking it to where C# was in 2005. It sucks, but oracle have killed it mostly.

    Things like Scala are going to be more abundant because simply you get so much more done, with less code and it often runs much faster too (well scales horizontally better due to inherent nature defects of procedural langs).

    If someone is going to learn something, then it will take 5 years before you can start charging proper money and really know the language. Ok that number is arbitrary, but it isn't instant.

    The question is, what will there be in 5 years for Java?

    Maintenance for big systems.
    Android Apps?

    Can't see anything else. This is the same with WPF. Right now WPF pays really rather well still (by this I mean about £100 per hour for long term engagements of 6M+). But it is a dead end technology. It's flaws are not being addressed by Microsoft. Will there still be jobs in 5 years for it? Hell yes, will they be paying well? Dunno. They could be paying insanely well for someone like me who has over 5 years commercial experience in that technology, or they could be paying utter spit.

    If you look at the jobs market for Java devs now, it is very, very hard to find one that is paying as much as you could get in say WPF right now. Most of the Android developers don't really earn good money. This is a common thing in software, small discrete projects, that require just maybe one man year of work pay poorly compared to a project that is going to have maybe 10+ man years. I appreciate for someone who isn't a senior dev, dismissing five hundred a day as not good money might be vulgar, but lets be honest, why set the target income so low.

    The way to access if it is worth looking at java, is objectively against other languages out there.

    For example the demand for JavaScript is going to be getting stronger, JavaScript is a mixed bag, it has some great language abilities which Java lacks, but is often considered hard to maintain. However Node.JS has exploded in popularity recently, and it is setting itself up as a good all round language, runs on the client (HTML5) runs on the Server (Node.JS) and hell there are even NoSQL database engines that run with it. Neato.

    It is a good idea to know lots of languages, but you don't really want to be a jack of all trades. Learning a language isn't bad, I am not saying don't learn Java, just that there are better languages out there. For instance learning C# 6 will teach you to think both functionally and procedurally, the use of the async/await keyword, iterators and such is good for developing the brain. Java is only just now getting iterator patterns. That is a good enough argument for anyone to say don't bother learning java.

    This isn't a willy waving thing. If you'd asked me a little over 10 years ago, I was in love with Java. It was brilliant, I'll be honest I absolutely hate C++ syntax at times, so Java was great. But whenever I go back to writing Java, nothing has changed in those 10 years.

    I'm also going to guess that you don't know C# properly, or F# or Scala or Node? Don't you think you should actually understand what the other options are.

    Oh a little bit of food for thought, one former major international client of mine, who employs over 1000 developers, pays Java devs about 20% less than C# devs. Most mixed discipline houses price skills differently.
    throw new ArgumentException (String, String, Exception)

  3. #51
    bored out of my tiny mind malfunction's Avatar
    Join Date
    Jul 2003
    Location
    Lurking
    Posts
    3,923
    Thanks
    191
    Thanked
    187 times in 163 posts
    • malfunction's system
      • Motherboard:
      • Gigabyte G1.Sniper (with daft heatsinks and annoying Killer NIC)
      • CPU:
      • Xeon X5670 (6 core LGA 1366) @ 4.4GHz
      • Memory:
      • 48GB DDR3 1600 (6 * 8GB)
      • Storage:
      • 1TB 840 Evo + 1TB 850 Evo
      • Graphics card(s):
      • 290X
      • PSU:
      • Antec True Power New 750W
      • Case:
      • Cooltek W2
      • Operating System:
      • Windows 10
      • Monitor(s):
      • Dell U2715H

    Re: Programming & Graphics - Potential Career+Hobby?

    Java has had Iterators since 1.2, with various enhancements from 1.5 / Java 5 (released in 2004)... It might be sector specific - in telco I hardly see any Microsoft tech or software beyond the desktop, I haven't worked in finance in ages but I'd be surprised if *nix / IBM boxes have all been ousted by Microsoft, or are you saying they're all using mono or similar?

  4. #52
    Seething Cauldron of Hatred TheAnimus's Avatar
    Join Date
    Aug 2005
    Posts
    17,168
    Thanks
    803
    Thanked
    2,152 times in 1,408 posts

    Re: Programming & Graphics - Potential Career+Hobby?

    Java does not have iterators as a language feature. I miss yield return when doing Java so terribly. Last time I did something like this http://chaoticjava.com/posts/impleme...-java-yielder/ It is about making state machine deferal of execution control easier. A lot of my ranting will not make sense without understanding the other languages.

    As for usage? I am not saying it isn't being used. I am saying the trend is against it. But lets have a quick summary anyway.

    A lot of the retail banking side use COBOL or something equally horrific.

    A lot of the investment side have really odd mixes of technology. It often depends on the business area being traded and the bank. Some try to be sexy and have grids of GPUs or FPGAs. The langauges used vary for those odd ball ones. Then you've got the 'HFT hype' stuff, this is all exclusively C++/C/ASM, got to be the fastest.

    Then you've got all the risk systems. These are generally quant libraries in C++, normally written so badly it makes your eyes bleed, almost always leaking. Then there will be a 'risk grid'. These again massively vary. I've seen multibillion desks use Excel 2003 instances glued together with DCOM. I actually felt a little sick. I've just got a little bit of pocket money consulting on a real time risk grid that is pretty much entirely C#. I was working on a Java / Coherence thing a few years back. I don't know any banks who are looking to reduce Java on the servers. But for workstations they want to. This isn't helped by ubiquitous systems such as Murex being on Java, normally about 10 major security patches behind. It is becoming more of a problem at audits.

    As I've been saying, its a dead end language. It will still be in use in 10 years time. But it isn't going to be going to any exciting places.

    Imagine it is 1930, and someone is saying that they should be an apprentice mechanic, learn about those internal combustion engines, meanwhile everyone else is banging on about how horses are used everywhere so you should be a furrier!
    throw new ArgumentException (String, String, Exception)

  5. #53
    bored out of my tiny mind malfunction's Avatar
    Join Date
    Jul 2003
    Location
    Lurking
    Posts
    3,923
    Thanks
    191
    Thanked
    187 times in 163 posts
    • malfunction's system
      • Motherboard:
      • Gigabyte G1.Sniper (with daft heatsinks and annoying Killer NIC)
      • CPU:
      • Xeon X5670 (6 core LGA 1366) @ 4.4GHz
      • Memory:
      • 48GB DDR3 1600 (6 * 8GB)
      • Storage:
      • 1TB 840 Evo + 1TB 850 Evo
      • Graphics card(s):
      • 290X
      • PSU:
      • Antec True Power New 750W
      • Case:
      • Cooltek W2
      • Operating System:
      • Windows 10
      • Monitor(s):
      • Dell U2715H

    Re: Programming & Graphics - Potential Career+Hobby?

    I still think you're conflating what you see in your sector with an overall industry trend. I can see the argument that in MS shops .net is more prevalent than (and highly likely to be preferable to) Java, and I can see the argument that outside of scientific circles MS is likely to have the lion's share of the desktop and workstation market but I could just as easily say the same about .net in the server space - I see Java (and for that matter *nix) far more than I see MS and .net...

    I don't know C# (haven't looked at it since the early days) but I'm not entirely convinced by supposed ease / speed of implementation over core Java, though my experience of J2EE in the real world was largely a hodge podge of third party libraries / APIs, which you can't level at the language or the core APIs (not that the core APIs are universally good, there's some horrible stuff in there). Perhaps in an all MS shop things are architecturally cleaner? (Though I didn't think MS were the best in that regard...)

    That said I quite like the idea of working in a relatively fixed environment, as the off the shelf *nix software I normally work with has all kinds of crap in the mix (one bit written in C, one bit written in perl, some Java, some JavaScript / ECMA script, starting to see some lua and Scala too...).

    FWIW I did (quickly) look at yield in C#, seems nice to be able to return a subset of a collection without explicitly creating one but I'm not convinced it takes much more effort in Java. I'm probably missing something but that seemed to be what it's being used for in the real world. (This is meant to show willing on my part rather than simply being pedantic).
    Last edited by malfunction; 13-09-2013 at 02:30 AM.

  6. #54
    Seething Cauldron of Hatred TheAnimus's Avatar
    Join Date
    Aug 2005
    Posts
    17,168
    Thanks
    803
    Thanked
    2,152 times in 1,408 posts

    Re: Programming & Graphics - Potential Career+Hobby?

    Quote Originally Posted by malfunction View Post
    I don't know C#

    .....

    FWIW I did (quickly) look at yield in C#, seems nice to be able to return a subset of a collection without explicitly creating one but I'm not convinced it takes much more effort in Java. I'm probably missing something but that seemed to be what it's being used for in the real world. (This is meant to show willing on my part rather than simply being pedantic).
    Which is kind of the issue.

    Ultimately it is very hard to understand why something is inferior if you don't understand both.

    For example iterators as a first class language feature make certain kinds of functional style programming a lot easier, so therefore more common. Yield keyword allows for very quick, very easy generation of little state machines, which can then have the execution plan controlled higher up.

    myClass.ItteratorFunction().First(x=>x.TheOne == true);

    That for instance is trivial to implement, yet complex in Java. The example link I used above shows just how verbose such a thing is.

    Once again, I am not saying that there will be no Java jobs in 10 years, just that it's a dead field. It isn't evolving.
    throw new ArgumentException (String, String, Exception)

  7. #55
    bored out of my tiny mind malfunction's Avatar
    Join Date
    Jul 2003
    Location
    Lurking
    Posts
    3,923
    Thanks
    191
    Thanked
    187 times in 163 posts
    • malfunction's system
      • Motherboard:
      • Gigabyte G1.Sniper (with daft heatsinks and annoying Killer NIC)
      • CPU:
      • Xeon X5670 (6 core LGA 1366) @ 4.4GHz
      • Memory:
      • 48GB DDR3 1600 (6 * 8GB)
      • Storage:
      • 1TB 840 Evo + 1TB 850 Evo
      • Graphics card(s):
      • 290X
      • PSU:
      • Antec True Power New 750W
      • Case:
      • Cooltek W2
      • Operating System:
      • Windows 10
      • Monitor(s):
      • Dell U2715H

    Re: Programming & Graphics - Potential Career+Hobby?

    Oh and in terms of the original post, I no longer code on a regular basis but I was a developer for a good decade before moving into a consultancy role, and I still code on an occasional basis though it tends to be simple integration work these days.

    I started out as a self taught programmer, doing mostly graphical bits and bobs ('demo' style stuff and a couple of aborted games) on the Amiga. I started to code for a living after uni and I'd say I mostly enjoyed it, not quite as much as when I was doing it for fun, but it didn't 'ruin the hobby' for me for quite a while... I'm not sure if it has ruined it now, or if it's just that I don't have as much free time these days but I rarely do any coding for fun outside of work, though I am lucky enough to be able to indulge in pet projects at work, which probably scratches most of that itch for me.

  8. #56
    bored out of my tiny mind malfunction's Avatar
    Join Date
    Jul 2003
    Location
    Lurking
    Posts
    3,923
    Thanks
    191
    Thanked
    187 times in 163 posts
    • malfunction's system
      • Motherboard:
      • Gigabyte G1.Sniper (with daft heatsinks and annoying Killer NIC)
      • CPU:
      • Xeon X5670 (6 core LGA 1366) @ 4.4GHz
      • Memory:
      • 48GB DDR3 1600 (6 * 8GB)
      • Storage:
      • 1TB 840 Evo + 1TB 850 Evo
      • Graphics card(s):
      • 290X
      • PSU:
      • Antec True Power New 750W
      • Case:
      • Cooltek W2
      • Operating System:
      • Windows 10
      • Monitor(s):
      • Dell U2715H

    Re: Programming & Graphics - Potential Career+Hobby?

    Quote Originally Posted by TheAnimus View Post
    myClass.ItteratorFunction().First(x=>x.TheOne == true);

    That for instance is trivial to implement, yet complex in Java. The example link I used above shows just how verbose such a thing is.
    To reply in kind, I do not find it difficult to write a couple of loops in the right part of my OO code to avoid such an onerous overhead...

    Quote Originally Posted by TheAnimus View Post
    Once again, I am not saying that there will be no Java jobs in 10 years, just that it's a dead field. It isn't evolving.
    You don't need an evolving language - that's the job of the platform / the implementations of the language and APIs and the things that use the language (and APIs).

    I do have concerns around oracle's stewardship but I'm not convinced oracle can kill Java even if they wanted to (and I'm not sure I'd trust Microsoft in that regard in the long term either).
    Last edited by malfunction; 11-09-2013 at 09:43 PM.

  9. #57
    Seething Cauldron of Hatred TheAnimus's Avatar
    Join Date
    Aug 2005
    Posts
    17,168
    Thanks
    803
    Thanked
    2,152 times in 1,408 posts

    Re: Programming & Graphics - Potential Career+Hobby?

    You are very wrong. I can't think of a softer way of putting it.

    The point is you can save execution time inside the "IteratorFunction", because the conditional execution path is exposed. That is impossible to do neatly in Java at the moment. It doesn't matter what libraries you throw at it, you need a better language.

    This is before we get on to stuff like async await which are also really, really cool.

    Inverting the question, why learn java? It won't teach you as much 'good' things as C#, the jobs in it pay less on the whole.

    It has no academic benefit. If I'm wrong about the business benefits, then learning Java after C# is easy, because it is a subset of functionality.

    I can't fathom that you are debating a language which lacks true generics, lambdas, iterators, asynchronous model, is better. What language feature does Java has the C# is missing? Nothing because C# blatantly copied all the good bits.
    throw new ArgumentException (String, String, Exception)

  10. #58
    HEXUS.social member finlay666's Avatar
    Join Date
    Aug 2006
    Location
    Newcastle
    Posts
    8,546
    Thanks
    297
    Thanked
    894 times in 535 posts
    • finlay666's system
      • CPU:
      • 3570k
      • Memory:
      • 16gb
      • Graphics card(s):
      • 6950 2gb
      • Case:
      • Fractal R3
      • Operating System:
      • Windows 8
      • Monitor(s):
      • U2713HM and V222H
      • Internet:
      • cable

    Re: Programming & Graphics - Potential Career+Hobby?

    Quote Originally Posted by malfunction View Post
    To reply in kind, I do not find it difficult to write a couple of loops in the right part of my OO code to avoid such an onerous overhead...
    well how about generating new dynamic items and grouping & sorting by index?

    Code:
    Enumerable.Range(0,999).Select( p => new {  /* dynamic item */  ** ).GroupBy(( (p,i)=> i % 3).OrderByDescending(p=>p.Key);
    Groups 1000 integers into 3 groups of items and generates a new dynamic (but strongly typed item) for use.

    I could even use
    .AsParallel().ForEach(p=> ..stuff.. )
    and there is parallel thread programming...

    A language that is no longer evolving is useless. None of the common languages today are even close to what they were 5 years ago with new functionality. Async on the old task model was hideous, the new async/await in C# is what Java seems to be aiming for with the new "futures and promises" (what a terrbile name, sounds like a sequel to an 80s Tom Cruise film) features


    EDIT: The forum is being incredibly stupid and censoring the closing brace ( ** ) and replacing it with **
    Last edited by finlay666; 11-09-2013 at 10:17 PM.
    H3XU5 Social FAQ
    Quote Originally Posted by tiggerai View Post
    I do like a bit of hot crumpet

  11. #59
    bored out of my tiny mind malfunction's Avatar
    Join Date
    Jul 2003
    Location
    Lurking
    Posts
    3,923
    Thanks
    191
    Thanked
    187 times in 163 posts
    • malfunction's system
      • Motherboard:
      • Gigabyte G1.Sniper (with daft heatsinks and annoying Killer NIC)
      • CPU:
      • Xeon X5670 (6 core LGA 1366) @ 4.4GHz
      • Memory:
      • 48GB DDR3 1600 (6 * 8GB)
      • Storage:
      • 1TB 840 Evo + 1TB 850 Evo
      • Graphics card(s):
      • 290X
      • PSU:
      • Antec True Power New 750W
      • Case:
      • Cooltek W2
      • Operating System:
      • Windows 10
      • Monitor(s):
      • Dell U2715H

    Re: Programming & Graphics - Potential Career+Hobby?

    Quote Originally Posted by TheAnimus View Post
    You are very wrong. I can't think of a softer way of putting it.

    The point is you can save execution time inside the "IteratorFunction", because the conditional execution path is exposed. That is impossible to do neatly in Java at the moment. It doesn't matter what libraries you throw at it, you need a better language.
    How is a conditional statement at a higher level more performant than one at a lower level? I can just as easily break a loop at a low level and I don't have to break encapsulation to do it, which is what it looks like you're doing here.

    Quote Originally Posted by TheAnimus View Post
    This is before we get on to stuff like async await which are also really, really cool.
    I need a better example than I can find from a quick Google, but I have found that making threading, synchronisation and notification 'easier' in Java has not improved the quality of multi threaded Java code - that people tend to abandon defensive programming because they don't appreciate what's happening behind the scenes. I do not know enough here, but if C# has much cleaner multi threading then it would be a good reason to use it, though from a purely academic point of view there would be obvious value in learning the 'hard way' first / too.

    Quote Originally Posted by TheAnimus View Post
    Inverting the question, why learn java? It won't teach you as much 'good' things as C#, the jobs in it pay less on the whole.

    It has no academic benefit. If I'm wrong about the business benefits, then learning Java after C# is easy, because it is a subset of functionality.
    If Java makes you do things the 'hard way' I'd say there's definitely academic value.

    Quote Originally Posted by TheAnimus View Post
    I can't fathom that you are debating a language which lacks true generics, lambdas, iterators, asynchronous model, is better. What language feature does Java has the C# is missing? Nothing because C# blatantly copied all the good bits.
    I can't fathom why you're so against a language that's easy to learn, is widely used and for which there's great demand. It's not like I'm recommending smalltalk!
    Last edited by malfunction; 13-09-2013 at 02:30 AM.

  12. #60
    Seething Cauldron of Hatred TheAnimus's Avatar
    Join Date
    Aug 2005
    Posts
    17,168
    Thanks
    803
    Thanked
    2,152 times in 1,408 posts

    Re: Programming & Graphics - Potential Career+Hobby?

    Quote Originally Posted by malfunction View Post
    How is a conditional statement at a higher level more performant than one at a lower level? I can just as easily break a loop at a low level and I don't have to break encapsulation to do it, which is what it Iooks like you're doing here.
    Not at all.

    In the same way a DI or IoC pattern can allow you to avoid executing code, due to the idea of changing which implementation would happen, or conditionally modifying a classes behviour.

    How many times when programming does someone have an interface which has something that returns a collection, but the caller only cars if it has more than say one item in it. Why bother with populating and producing the rest? The idea is that the caller can break the flow of execution, rather than the callee. If you can't see why that is amazingly useless, then google LINQ.
    throw new ArgumentException (String, String, Exception)

  13. #61
    bored out of my tiny mind malfunction's Avatar
    Join Date
    Jul 2003
    Location
    Lurking
    Posts
    3,923
    Thanks
    191
    Thanked
    187 times in 163 posts
    • malfunction's system
      • Motherboard:
      • Gigabyte G1.Sniper (with daft heatsinks and annoying Killer NIC)
      • CPU:
      • Xeon X5670 (6 core LGA 1366) @ 4.4GHz
      • Memory:
      • 48GB DDR3 1600 (6 * 8GB)
      • Storage:
      • 1TB 840 Evo + 1TB 850 Evo
      • Graphics card(s):
      • 290X
      • PSU:
      • Antec True Power New 750W
      • Case:
      • Cooltek W2
      • Operating System:
      • Windows 10
      • Monitor(s):
      • Dell U2715H

    Re: Programming & Graphics - Potential Career+Hobby?

    Quote Originally Posted by TheAnimus View Post
    How many times when programming does someone have an interface which has something that returns a collection, but the caller only cars if it has more than say one item in it. Why bother with populating and producing the rest? The idea is that the caller can break the flow of execution, rather than the callee.
    Very much depends on how the code you're calling has been implemented - if it returns an immutable collection all you're doing is passing references around, similarly you may not know or be able to control how much processing is being performed up front or on demand regardless of what your control code looks like (and if you're writing all the code yourself you could simply implement a 'size' method / wrap the size method of the underlying collection).

    In short, I don't see how this does anything that good design and implementation shouldn't be doing anyway.

    If you're writing closely coupled classes then you're in control of both the calling and called code, if it's loosely coupled e.g. calling 3rd party code then proper defensive practices probably mean the underlying code is creating a copy of its internal state and passing that back (and if not your calling code may need to create copies before making modifications anyway).
    Last edited by malfunction; 13-09-2013 at 02:31 AM.

  14. #62
    bored out of my tiny mind malfunction's Avatar
    Join Date
    Jul 2003
    Location
    Lurking
    Posts
    3,923
    Thanks
    191
    Thanked
    187 times in 163 posts
    • malfunction's system
      • Motherboard:
      • Gigabyte G1.Sniper (with daft heatsinks and annoying Killer NIC)
      • CPU:
      • Xeon X5670 (6 core LGA 1366) @ 4.4GHz
      • Memory:
      • 48GB DDR3 1600 (6 * 8GB)
      • Storage:
      • 1TB 840 Evo + 1TB 850 Evo
      • Graphics card(s):
      • 290X
      • PSU:
      • Antec True Power New 750W
      • Case:
      • Cooltek W2
      • Operating System:
      • Windows 10
      • Monitor(s):
      • Dell U2715H

    Re: Programming & Graphics - Potential Career+Hobby?

    Quote Originally Posted by finlay666 View Post
    well how about generating new dynamic items and grouping & sorting by index?

    Code:
    Enumerable.Range(0,999).Select( p => new {  /* dynamic item */  ** ).GroupBy(( (p,i)=> i % 3).OrderByDescending(p=>p.Key);
    Groups 1000 integers into 3 groups of items and generates a new dynamic (but strongly typed item) for use.

    I could even use
    .AsParallel().ForEach(p=> ..stuff.. )
    and there is parallel thread programming...

    A language that is no longer evolving is useless. None of the common languages today are even close to what they were 5 years ago with new functionality. Async on the old task model was hideous, the new async/await in C# is what Java seems to be aiming for with the new "futures and promises" (what a terrbile name, sounds like a sequel to an 80s Tom Cruise film) features


    EDIT: The forum is being incredibly stupid and censoring the closing brace ( ** ) and replacing it with **
    The (new to me) LINQ does look nice (coming from someone that writes a fair amount of SQL). Your trivial example word be trivial to replicate in plain Java code but I can certainly see the appeal in a functional SQL like ability to process all sets / collections.

    I still disagree with the definition of dead / useless that both you and animus are putting forward (which is what really drew me into argument).

    I don't have a problem with C#, and I can happily concede that LINQ looks very handy (depending on how much non-SQL set manipulation you need to do) but use / life is determined by more than language features / geek appeal.

    Supply and demand, critical mass and 'interoperability' (by which I largely mean platform support but also mean to imply the amount of Java based off the shelf software on the server side) are going to have much more of an effect, and I don't think I would want to limit my career to largely MS based shops. For example, I have never seen mono used in the wild and I don't work with any customers that make heavy use of MS software on the server side, though I guess the question is whether being a Java dev shuts you out of MS shops these days? To be frank most of my customers are 100% *nix based on the server side and couldn't care less what languages, APIs, etc are used as long as the code is fit for purpose, but I think they would hesitate to sanction mono due to the potential legal issues.

    Also - attempting to get back on topic slightly - I would not choose Java for games development on Windows...

    Edit:

    Some interesting Java based bits to read around JDK 8 / JSR 335
    Last edited by malfunction; 13-09-2013 at 02:31 AM.

  15. #63
    Seething Cauldron of Hatred TheAnimus's Avatar
    Join Date
    Aug 2005
    Posts
    17,168
    Thanks
    803
    Thanked
    2,152 times in 1,408 posts

    Re: Programming & Graphics - Potential Career+Hobby?

    Mono is very heavily used on smart phones, in apps and games thanks to unity and xarmin.

    Right now it is hands down the best option for writing your smartphone / tablet apps in, as you can run it on all the platforms, whilst having some of the really nice high level language features.

    When it comes to server side world, I don't know why you delineate into MS shops. Most companies by far have a windows domain and windows workstations? Web it comes to public facing websites, then hell if we were going by popularity we'd be recommending bloody PHP, which honestly I think has done more damage to the minds of young developers than weed. PHP is a really, really awful language. Yet it is widely used.

    Yeah Java 1.8 has some interesting features, the great thing is, as someone who knows C# all the features are very familiar, just not quite so well implemented.

    So it boils down to this. Why would anyone learn java?

    pros:
    There are jobs in it, and are likely to be in the future some too.
    It pays better than PHP.
    cons:
    It lacks many modern language features, its development has been dead for the better part of a decade.
    It won't help shape thought around design that a modern language will.
    It isn't really being actively helped by Oracles stewardship.
    It won't help if you to learn good design.

    So why learn C#?

    pros:
    There are jobs in it, and like to be in the future too.
    It pays better than Java.
    It teaches you quite modern language features for a mainstream procedural language.
    It teaches you some functional design patterns.
    Has much better modern stack (ie Azure, entities, razor).
    cons:
    Some people really hate Microsoft.
    Mono performance is bottom of the barrel, so server side stuff normally means windows licenses.

    At the end of the day, learning C# just makes more sense. You can easily drop down to Java, you just cry when you want to do something like Expression Trees because of course there is no language feature to help.
    throw new ArgumentException (String, String, Exception)

  16. #64
    bored out of my tiny mind malfunction's Avatar
    Join Date
    Jul 2003
    Location
    Lurking
    Posts
    3,923
    Thanks
    191
    Thanked
    187 times in 163 posts
    • malfunction's system
      • Motherboard:
      • Gigabyte G1.Sniper (with daft heatsinks and annoying Killer NIC)
      • CPU:
      • Xeon X5670 (6 core LGA 1366) @ 4.4GHz
      • Memory:
      • 48GB DDR3 1600 (6 * 8GB)
      • Storage:
      • 1TB 840 Evo + 1TB 850 Evo
      • Graphics card(s):
      • 290X
      • PSU:
      • Antec True Power New 750W
      • Case:
      • Cooltek W2
      • Operating System:
      • Windows 10
      • Monitor(s):
      • Dell U2715H

    Re: Programming & Graphics - Potential Career+Hobby?

    Quote Originally Posted by TheAnimus View Post
    When it comes to server side world, I don't know why you delineate into MS shops. Most companies by far have a windows domain and windows workstations?
    Because most of the places I've worked at only have the bare minimum of MS software - desktops and domain management. Everything else is *nix based - web servers, app servers, database servers, the entire operational stack (ticketing, alerting, monitoring, change control, etc) and all externally facing servers are *nix based - meaning there isn't much work - interesting or otherwise - on the MS side.

Page 4 of 8 FirstFirst 1234567 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •