.NET or Java programmers?

  • Posted by a hidden member.
    Log in to view his profile

    Jun 23, 2010 4:29 PM GMT
    Not sure if there are other software developers / engineers on here. But if there are, which of these do you prefer? Which do you think has better potential for a career?

    The school I got my undergrad degree from taught both, but focused mainly on the .NET platform. Most of my educational experience was in C# and ASP.net. However, I prefer Java (cross-platform, open source, etc). Most of the professional work I've done was in Ruby on Rails and C#/ASP.Net. I'd really like to tap into the Java market, because I'd be happy to never have to require a client to pay for a Windows server to host their applications / websites. However, I'm finding trouble in the job market due to a lack of professional Java experience. I could take up another .net job, but that's not exactly helping my goals.

    I prefer programming in Java at home for my personal projects. I run Linux on my machine, and all of my projects are open source. I know I can always just use Mono to build .net applications in Linux, but let's get real... Mono is in no way caught up to the Microsoft .net platform, and they'll always be behind. I guess it can work in a pinch, but I've always just booted Windows and built my .net apps in Visual Studio. I also have not found a better IDE than Visual Studio, which can be a bit of a crutch when using Linux.

    So which do you prefer, and why? Any advice on tapping into the professional Java market?
  • Posted by a hidden member.
    Log in to view his profile

    Jun 23, 2010 5:17 PM GMT
    I prefer Java. Java came first, and .Net was based on it. They yanked so much of .Net from the Java frameworks. But I digress.

    When I take on a new client, this is a consideration. If they're a small start-up, then they don't have $ for an enterprise license from Microsoft. If they do, great. They'll have SQL Server, Exchange, etc all bundled. But mid-sized and large companies are the only ones I find that have that kind of funding. So open source becomes their solution, because it's so cheap to pay somebody like you or me to get in there, get a godaddy domain or two, set up MySql and PHP. Kaboom, website for (basically) only labor. No costs in licensing and hardware. It's all remotely hosted, etc.

    You will probably dig a lot of the community process stuff. They have all kinds of projects going on. And they'll take anybody's help, too. If you get in there and start working, you can start building your resume by contributing content or ideas to current JCP projects. Say you only want to work on a DB abstraction layer. OK, they have that. Or only XML related projects. Go for it.

    http://jcp.org/en/home/index

    That might be a nice way to get your foot in the door. I might still be a contributor to NetBeans, but I haven't worked on it in ages. That's another possible opportunity for ya.

    I'm director of IT for my company. So I have to work with head hunters, recruiters, contractors, etc. In the last year or two, opportunities out there have been strong for both .Net and Java. But you don't have to choose one or the other. Having time to get a thorough exposure to both is the issue. Also, go to Sun and get a certification as a Java developer if you want to do Java, MCSD/MCAD if you wanna stick with just .Net. Certifications always look good on a resume.

    Good luck, bro.
  • Posted by a hidden member.
    Log in to view his profile

    Jun 23, 2010 7:24 PM GMT
    Thanks for the link! Looking into the project now, and looking into Sun / Oracle certification. Ideally I'd find an employer to pay for me to take the exams (high hopes, no?), but it seems worth the investment. Thanks again!
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 1:00 AM GMT
    Why not C/C++ ?
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 2:15 AM GMT
    There are LOTS of jobs that require a java background. I think .Net programming jobs are on the rise. RoR, Cake, Django, and other open source IDE based coding are pretty much everywhere, and the job market is pretty competitive. I'm thinking about taking some refresher courses on Windows programming. I think there's more opportunity/money/security in that area. Many businesses still rely on custom binary applications that runs on Windows. Sometimes it's better to aim for a niche market, rather than go with what's hot/popular. But I guess it all depends on your long term careers goals.
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 2:30 AM GMT
    charlitos saidWhy not C/C++ ?


    The illiteracy shines again. A smart man doesn't write web applications in C or C++ for a long list of reasons that any college freshman should know. Sometimes, a young person needs to learn a bit before they realize how little they truly know.

    For most clients, open source is a good choice. Even the biggest enterprises now utilize open source (e.g. Verizon, Comcast, IBM, Autozone, to name a very few).

    .NET is a migration for M$ shops, though, and for folks who have a specific need, it can be the best choice.

    JAVA has never lived up to expectations.

    PHP is BY FAR the most popular web development language making up well over the majority of web applications online (E.g. Facebook and millions of others).

    Loosely typed languages are easy to develop in, fast to market (a big thing in the real world), and easy to learn, and, in open source, cross platform.

    It really gets down to what you want to do.

    We'll see MUCH MORE software as service (Think Google) as bandwidth increases to most.

    JAVA has application for mobile devices, but, it's heavy. C and C++, really shine for drivers, and hardware stuff, where raw speed, at near assembler level is needed, but, the string handling is terrible and development is long.

    .NET as a scripting language is better than what they had before, but, isn't PERL, or PHP, or TCL. .NET is also a 'pig."

    It really gets down to what you wish to be an expert at.

    In college, I learned FORTRAN, Assembler, RPG, COBOL, BASIC. (Many years ago.) Lots of COBOL, and FORTRAN, code is still running every night 3 decades later, but, I haven't done anything in the aforementioned languages in years. The way programs are written now compared to then is much different. In the old days it was about fast, and with as little of footprint as possible. Now, there's memory to burn, and bad code, along with object languages, burns through resources.

    Just pick what you like, and it will fall into place.

    C++ will be around for a good while yet. So will JAVA (maybe more with more powerful mobile devices). .NET is very proprietary, but, there will likely be an open source look alike much in the spirit of MONO to asp.

    Many large enterprises, in efforts to reduce costs, are moving AWAY from M$ to open source, in cloud computing. You'll want to ponder that in your career path. We'll have to watch Android closely.
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 2:47 AM GMT
    I'm also a software engineer, I have a MS in computer science. I work for a company that creates large scale financial applications which we sell as products. We continue to use the Java/J2EE platform. Over the past couple of years I have seen .Net rise in popularity for applications that are being developed internally at organizations. I think as others have pointed out, it's all about picking the right technology to solve the problem at hand, considering a lot of factors like cost, skill set of the developers, etc.

    The best thing you can do for yourself, IMO, is to understand the fundamentals really well i.e. operating systems, design patterns, memory management, performance pitfalls, etc which can be applied regardless of the language or platform you're using.
  • swimbikerun

    Posts: 2835

    Jun 24, 2010 3:07 AM GMT
    I've worked with both. It really isn't so much a matter of which is better but what is the best tool for the job. You'll do yourself a favor by learning the fundamentals of both.
    From the kind of things you seem to like, have you considered Objective-C?

    You can deploy your own applications from soup to nuts and learn quite a bit in the process perhaps earning some extra cash along the way.
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 7:40 AM GMT
    chuckystud said
    charlitos saidWhy not C/C++ ?


    The illiteracy shines again. A smart man doesn't write web applications in C or C++ for a long list of reasons that any college freshman should know. Sometimes, a young person needs to learn a bit before they realize how little they truly know.



    FORTRAN, COBOL AND BASIC uh....when was the last time you actually tried to update your rotten knowledge?

    Whoever manages to make a website in C(using of course CGI) is BY FAR a better programmer than any PHP/JSP/ASP full time developer whos never touched C in their lives. That post was meant for lilTanker to jump in and probably have some argument going on about C(CGI) performance(web developement) compared to scripting languages. Why do you even dare to talk to me? After all I have said to you, and all I still have left to say..... I'll politely suggest you to please just shut the #### up monsieur ;)
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 3:45 PM GMT
    I've used C / objective C / C++ for console and very few winforms applications, but most of that work was for system-level work or server-side work. It was fun and interesting and all, but not where I see my future heading. I prefer Java, .net, and RoR for their rapid development. The client doesn't care how good of a programmer I am; they just want a tool that does exactly what they want, as fast and as cheap as they can get it. The only time I've used PHP is in content management systems like Drupal and Wordpress. I prefer Ruby for scripting.

    Swimbikerun and Clemsongrad: I got the opportunity to take on a 1.5 year internship developing custom software apps for several clients working at a company that only used Microsoft products (so C#/.net, SQL Server, etc.). I learned some of the ins and outs of the .net framework and how MS products work well together. So I'd still be considered a 'junior' developer when it comes to c#/asp.net. I'd like to be able to get the same opportunity with Java, so I can learn more about using it for larger applications involving Struts, etc. Of course, the best way that I've found to do this is to take on a large project such as an internship, but now that college has come and gone, I need a job to start my career. I'm digging deeper into the Java Community Project that Gekkisa mentioned above, but welcome any other advice on how to tap into the Java market, mostly to get my foot in the door to learn more. If I enjoy working with it more than .net, I'll still probably use both, but would like to specialize in one over the other in the long term.
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 3:51 PM GMT
    From an academic standpoint C# and java are almost identical. Not really much difference there. As I understand it Microsoft designed C# to be like Java but 10% different so they wouldn't get sued.

    Can't really comment on the .NET class frameworks but others seem to know all about that.

    One thing I will say though is that Java is the language for Android, which I predict will dominate smart phone operating systems in the same way Windows dominated PC operating systems. If you like playing with java at home I'd suggest downloading android and start building some fun stuff. If you dont't have an android phone you can use the emulator.

    -eron
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 4:05 PM GMT
    charlitos said
    chuckystud said
    charlitos saidWhy not C/C++ ?


    The illiteracy shines again. A smart man doesn't write web applications in C or C++ for a long list of reasons that any college freshman should know. Sometimes, a young person needs to learn a bit before they realize how little they truly know.



    FORTRAN, COBOL AND BASIC uh....when was the last time you actually tried to update your rotten knowledge?

    Whoever manages to make a website in C(using of course CGI) is BY FAR a better programmer than any PHP/JSP/ASP full time developer whos never touched C in their lives. That post was meant for lilTanker to jump in and probably have some argument going on about C(CGI) performance(web developement) compared to scripting languages. Why do you even dare to talk to me? After all I have said to you, and all I still have left to say..... I'll politely suggest you to please just shut the #### up monsieur ;)


    Your ignorance abounds. I've updated my skill sets with every iteration along the way for 3 decades.

    I'm forever reminded by your remarks that ignorant folks don't realize they are.

    Clearly, you're still a clueless neophyte in SO many areas. I understand, though, and know you're ignorant, and don't know better.

    Do yourself a favor. Think, first.

    Having worked with The Internet since 1988, and having worked with some big names and projects (Verizon / GTE 3 times, ATT twice, and IBM twice, ESPN, matchmaker.com, Toby Keith), I assure you I have a clue. It's just that you don't realize your own ignorance Little One. You're welcome to call me and we'll compare projects some time. Lustre file systems? Yeah. Amazon EC2 Super Computing Cloud? Yeah? Load balancers, heartbeat, and high speed links? Yeah? High reliability, massively scalable solutions? Oh, yeah? We chew that stuff up and spit it out, Little One. Ever worked on a computing array for seismic oil research? I have. Ever build the programs to calibrate the magnets on a linear accelerator? I have. Ever build the mail infrastructure for a 200,000 PC enterprise? I have. Ever document the networks of a 7 hospital chain? I have.

    Yes, there's a few apps in C++ CGI (a much better choice than C), but, most web apps get down to LAMP or ASP. That's the real world.

    Software development is expensive on the front side, and time to market is a prime consideration both for cost concerns and for getting a product to market while a particular technology is still germane.

    My first computer had 16K of memory, and my first main frame programs were on paper tape, and then punch cards. I've GROWN through the years in my professional skill set.

    You'd do well to sit back, observe, and LEARN, a bit. You're youthful, ignorant, arrogance, does you a HUGE disservice. Unless you temper it, it will be a hindrance to you in any career development. Your thing is that you FAIL to accept how little you truly know. Until you realize that, you won't be very good.

    Guys like me BUILT this infrastructure you're using to act so stupidly.
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 4:08 PM GMT
    C/C++ won't get you much more than gruntwork writing drivers and game logic.

    If you want to be able to make a ton of money in software (especially on the net) you'll want BOTH .NET and Java. Either one will get you a well-paying job but I think Java at the end of the day will end up giving you more jobs than the .NET languages simply because it runs on and does just about everything.

    I personally use PHP almost exclusively because it runs 80% of the web but my skillset also includes user interface design, database administration, and quality control so I'm rarely going completely hungry.
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 4:16 PM GMT
    Last week, Logan did graphing for CDR (Call Detail Records) across massive databases, along with unit testing. Do you know what unit testing is? We do. Ever done regression testing? We do. Ever do load testing under OpenSTA or Load Runner? We do.

    What an idiot the young man (not Logan) is.
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 4:19 PM GMT
    chuckystud saidLast week, Logan did graphing for CDR (Call Detail Records) across massive databases, along with unit testing. Do you know what unit testing is? We do. Ever done regression testing? We do. Ever do load testing under OpenSTA or Load Runner? We do.

    What an idiot the young man (not Logan) is.


    I made my reports go from taking 5-10 minutes down to 30 seconds or less and it gives me fuckin' wood! icon_biggrin.gif
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 4:20 PM GMT
    Yeah...I SHOWED Logan that in LARGE record set (billions of phone records), studying index implementation using EXPLAIN is critical to performance.

    (We're working on a phone project for 12,000 retail outlets.)

    Charlitos is just so SILLY, you gotta' laugh at The Little One.
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 4:21 PM GMT
    chuckystud saidYeah...I SHOWED Logan that in LARGE record set (billions of phone records), studying index implementation using EXPLAIN is critical to performance.

    (We're working on a phone project for 12,000 retail outlets.)

    Charlitos is just so SILLY, you gotta' laugh at The Little One.


    The kid needs to EAT, so he can THINK straight. ROFL. Little One.
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 4:48 PM GMT
    Pyrotech saidWhich do you think has better potential for a career?


    Speaking to this specific point... I tend to agree with the posters who've told you that there is value in knowing both.

    That said, be aware that some cities in the US have larger job markets in one platform or the other. This is primarilly because some industries cluster their headquarters or operations in particular cities... for example, banking in Charlotte and oil in Houston. If that industry has a strong tendency toward one platform, it can skew the job market in that city.

    You may want to pull up the major job pages for whatever city you want to live in for the next few years and literally count the open positions for each platform. Do that every year or so as one way of keeping up with the shifting trends.
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 5:01 PM GMT
    FitExecutive said
    Pyrotech saidWhich do you think has better potential for a career?


    Speaking to this specific point... I tend to agree with the posters who've told you that there is value in knowing both.

    That said, be aware that some cities in the US have larger job markets in one platform or the other. This primarilly because some industries cluster their headquarters or operations in particular cities... for example, banking in Charlotte and oil in Houston. If that industry has a strong tendency toward one platform, it can skew the job market in that city.

    You may want to pull up the major job pages for whatever city you want to live in for the next few years and literally count the open positions for each platform. Do that every year or so as one way of keeping up with the shifting trends.


    Smart advice
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 5:18 PM GMT
    charlitos said
    chuckystud said
    charlitos saidWhy not C/C++ ?


    The illiteracy shines again. A smart man doesn't write web applications in C or C++ for a long list of reasons that any college freshman should know. Sometimes, a young person needs to learn a bit before they realize how little they truly know.



    FORTRAN, COBOL AND BASIC uh....when was the last time you actually tried to update your rotten knowledge?

    Whoever manages to make a website in C(using of course CGI) is BY FAR a better programmer than any PHP/JSP/ASP full time developer whos never touched C in their lives. That post was meant for lilTanker to jump in and probably have some argument going on about C(CGI) performance(web developement) compared to scripting languages. Why do you even dare to talk to me? After all I have said to you, and all I still have left to say..... I'll politely suggest you to please just shut the #### up monsieur ;)


    Pardon my ignorance, but... how exactly DO you build a website / web app using strictly C/C++ and no scripting languages? Not a trick question, I'm genuinely curious. Do you write an Apache module? Write your own server from scratch? Or is there some way of doing it that works with any server? I've been wondering this for a while. Thank you.
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 5:20 PM GMT
    FitExecutive said
    Pyrotech saidWhich do you think has better potential for a career?


    Speaking to this specific point... I tend to agree with the posters who've told you that there is value in knowing both.

    That said, be aware that some cities in the US have larger job markets in one platform or the other. This primarilly because some industries cluster their headquarters or operations in particular cities... for example, banking in Charlotte and oil in Houston. If that industry has a strong tendency toward one platform, it can skew the job market in that city.

    You may want to pull up the major job pages for whatever city you want to live in for the next few years and literally count the open positions for each platform. Do that every year or so as one way of keeping up with the shifting trends.


    Good point.

    Seattle is a real M$ place. Go figure.

    Here in DFW, there's LOTS of open source, but, also lots of banking, and, incredible amount of telco, and lots of internet startups. Telco uses UNIX / LINUX and lots of PERL, PHP, quite a bit of JAVA. Same with startups, who mostly use LAMP.

    In some towns, more in the North, you'll see more main frame stuff, but, much of that has moved off the main frame and onto Oracle, and LINUX, with apps in php.

    UNIX/LINUX and PHP runs, by FAR and above, the most number of apps that reside in the cloud (common knowledge). M$ has some vertical market space, but, because of licensing, M$ is losing space there to the likes of Google and Oracle/SUN. Desktop apps are being gradually migrated to cloud computing, so, we'll have to see if JAVA gains some ground there, or not.

    Just by the nature of the JRE, and its implementation, there's always a performance hit on JAVA. With today's hardware, hard to tell if someone wants to live with it.

    Some folks are into ruby now, and tcl, and the shell have been around forever, but, as I said, PHP, and PERL, rule the cloud. For desktop apps (decreasing because of high maintenance costs and low portability) Visual Basic, VBA, along with C++ are prevalent in the M$ world. I look for many folks to walk away from the propriety model as things move forward.

    Just not to long ago, I met with some folks at a super huge telco that are busy migrating away from UNIX to LINUX, and away from Oracle to MySQL (now owned by Oracle via Sun). To give you an idea in the differences in costs:

    Sun UNIX box: $150,000
    Dell LINUX box: $8500.

    Oracle: pricey
    MySQL: free

    This particular telco had tried running their LINUX on the Z-series IBM Mainframe without much success and decided that it was cheaper, and much better performing, to upgrade to DELL and LINUX, along with PERL, and PHP.

    That's real world stuff.

    Here's another example I did for that same company. Company had 200,000 plus pcs with a mail client. We moved that to the web, and 7, yep, 7, HP UX servers. As you can imagine, maintenance, and support, costs plummeted.
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 5:23 PM GMT
    MenschPress said
    charlitos said
    chuckystud said
    charlitos saidWhy not C/C++ ?


    The illiteracy shines again. A smart man doesn't write web applications in C or C++ for a long list of reasons that any college freshman should know. Sometimes, a young person needs to learn a bit before they realize how little they truly know.



    FORTRAN, COBOL AND BASIC uh....when was the last time you actually tried to update your rotten knowledge?

    Whoever manages to make a website in C(using of course CGI) is BY FAR a better programmer than any PHP/JSP/ASP full time developer whos never touched C in their lives. That post was meant for lilTanker to jump in and probably have some argument going on about C(CGI) performance(web developement) compared to scripting languages. Why do you even dare to talk to me? After all I have said to you, and all I still have left to say..... I'll politely suggest you to please just shut the #### up monsieur ;)


    Pardon my ignorance, but... how exactly DO you build a website / web app using strictly C/C++ and no scripting languages? Not a trick question, I'm genuinely curious. Do you write an Apache module? Write your own server from scratch? Or is there some way of doing it that works with any server? I've been wondering this for a while. Thank you.


    Golly, Logan and I were wondering, too?
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 5:26 PM GMT
    For folks like the ignorant Charlitos, here's a socket server that is in PHP.
    (the parser here gobbly gooks it just a bit, but, you get the idea.)

    $socket = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr);
    if (!$socket)
    {
    echo "$errstr ($errno)
    n";
    }
    else
    {
    while ($conn = stream_socket_accept($socket)) {
    fwrite($conn, 'The local time is ' . date('n/j/Y g:i a') . "n");
    fclose($conn);
    }
    fclose($socket);


    That's all there is to it. Now, do that in C.

    Sometimes, we do things that just make sense Little One, as professionals. As professionals, we're obligated to get the job done at a fair cost, and a reasonable amount of time.

    Just because I could use C, doesn't mean that I should, nor that it would be a good choice in a real world app that needs to GET DONE.

    I could drive a car without power brakes, power steering, and AC, but, why?

    Can I write assembler? Sure thing. I took a class in it. Do I. Fuck no.
    Your ignorance, as I said, Charlitos, does you a disservice.
  • Posted by a hidden member.
    Log in to view his profile

    Jun 24, 2010 7:29 PM GMT
    MenschPress said
    charlitos said
    chuckystud said
    charlitos saidWhy not C/C++ ?


    The illiteracy shines again. A smart man doesn't write web applications in C or C++ for a long list of reasons that any college freshman should know. Sometimes, a young person needs to learn a bit before they realize how little they truly know.



    FORTRAN, COBOL AND BASIC uh....when was the last time you actually tried to update your rotten knowledge?

    Whoever manages to make a website in C(using of course CGI) is BY FAR a better programmer than any PHP/JSP/ASP full time developer whos never touched C in their lives. That post was meant for lilTanker to jump in and probably have some argument going on about C(CGI) performance(web developement) compared to scripting languages. Why do you even dare to talk to me? After all I have said to you, and all I still have left to say..... I'll politely suggest you to please just shut the #### up monsieur ;)


    Pardon my ignorance, but... how exactly DO you build a website / web app using strictly C/C++ and no scripting languages? Not a trick question, I'm genuinely curious. Do you write an Apache module? Write your own server from scratch? Or is there some way of doing it that works with any server? I've been wondering this for a while. Thank you.


    You do it through a Common Gateway Interface which executes the compiled C program. Of course its possible but it'll be insane to develop a full website spitting characters out of a C program. I dropped that question more as a challenge than something practical, however there are certain tasks when it comes to web development where some CGI understanding is required sometimes using Perl or C.

    C should be the first language for any computer programmer, PHP(open source) was built from the ground up using C. Most of the time higher level programmers face huge performance issues cause they have no clue how their code is being parsed.

    Once you know C, you look at a poor piece of code that some dude called chuckystud managed to put up on realjock and you just laugh at how stupid he looks by thinking that you cant do network programming on C when actually this is the level where you have all the system calls available(UNIX) for connections through socket files.

    To develop in C is not easy, debugging is a huge pain in the ass. However it helps to understand better whats higher up. I do not program for the web using C/CGI, I use PHP as an Apache module oh well but I do know C and a simple socket connection its not that long to write as some might think, Id like to see some C network programming examples coming from chuckystud just to make sure he knows what his PHP code is actually doing.
  • Csrobbie2000

    Posts: 359

    Jun 24, 2010 7:49 PM GMT
    flex89 said
    chuckystud saidLast week, Logan did graphing for CDR (Call Detail Records) across massive databases, along with unit testing. Do you know what unit testing is? We do. Ever done regression testing? We do. Ever do load testing under OpenSTA or Load Runner? We do.

    What an idiot the young man (not Logan) is.


    I made my reports go from taking 5-10 minutes down to 30 seconds or less and it gives me fuckin' wood! icon_biggrin.gif


    I had a client complaining that it was too slow to generate 200 pages of report in 18 seconds. It took me a few days, but I got it down to 5 seconds. It was quite awesome!!!