Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. .NET or Java?

.NET or Java?

Scheduled Pinned Locked Moved The Lounge
questioncsharpjavabusinesstutorial
41 Posts 26 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G Gizz

    "10 years of C# for example, moving to Java would be a good choice, becouse it would add more value " Thats a daft argument! Thats like saying, oh I've got 10 years experience as a plumber, so I'll give being an electrician a go, it will broaden my remit - no, it just means you'll have 10 years experience of one thing and zero experience of another - why then would someone employ you in the trade where you have nil experience?

    I Offline
    I Offline
    imran004
    wrote on last edited by
    #25

    "oh I've got 10 years experience as a plumber, so I'll give being an electrician a go," :laugh: What a funny statement. you can take example like I have been ploughing my fields using cows for ten years now I try with tractors. The other fellow didn't meant to change the job field.

    modified on Thursday, December 30, 2010 8:00 AM

    1 Reply Last reply
    0
    • L Lost User

      .NET would be the smarter option. As people suggest here, Smart stuff like WCF, LinQ, WPF and all have aided .Net in becoming a better choice than Java.

      - Bits and Bytes Rules! 10(jk)

      M Offline
      M Offline
      mathomp3
      wrote on last edited by
      #26

      I have to double up on the .net, I've done both, and what I keep finding is .net keeps improving at blazing speeds, so darn fast I can't keep up and I read and study it like a mofo. REally do they every unchain Scott and his team from their desks? Java seems to be the same language it was 10 years ago as it is today. Yes there are differences and improvements, but they are all community driven on values of open source, which in lamen turns, sometimes buggy and always way behind current technology. The thing I enjoy most about .net is anytime there is a task or a "feature" I find myself constantly writing custom code to do, it is usually about 1 year, before microsoft has an update or new release of .net that magically does all that custom writing for me and turns my job into drag and drop programming. It's not that I don't know how to do it, I just don't want to spend the time doing it. 5 mouse clicks for 160 lines of code is a heck of a time saver. Not to mention everything Microsoft now is built off the .net platform just about, you just use a different client language for presentation. The whole your stuck on microsoft stack is pointless as well, outside of the server technology. For front end, you build a html5 page that uses javascript to call your .net code on the server if you absolutely have to. Not always a solution, but as of to date there isn't a true cross platform development language that exists when you think about it. Java really only works when you have the "plug-in" running on your machine. They just have the plug-in written to run on most machine types. So long story short, pick what you enjoy, pick what gets you a job, and pick what is required of you, but if given a choice learn to enjoy the easy life of .net I mean takes me like 10 minutes to create a database, a web page with full account management (create,edit,delete,recover), a handful of forms, and reports to go with the forms. And I'm not lying, on the time. I use the demonstration to show my boss why we remain on the windows stack.

      1 Reply Last reply
      0
      • G Gizz

        "10 years of C# for example, moving to Java would be a good choice, becouse it would add more value " Thats a daft argument! Thats like saying, oh I've got 10 years experience as a plumber, so I'll give being an electrician a go, it will broaden my remit - no, it just means you'll have 10 years experience of one thing and zero experience of another - why then would someone employ you in the trade where you have nil experience?

        D Offline
        D Offline
        DangCP
        wrote on last edited by
        #27

        I've been working with Microsoft development platforms for almost 20 years and I've been very resistant to branch into the java community. Switching from C# to Java is only part of the decision. The syntax of these particular language is the trivial part to learn. All of the libraries and frameworks and IDEs and ideosyncrasies that go along with all of them are the bits that I see as the real work. It is hard enough to keep up with any one piece of the Microsoft world (how many *real* WCF experts do you know?) let alone several pieces. I have always weighed all of this when considering taking on a Java (or other) project. So I agree with the plumber/electrician analogy - maybe you don't have zero experience in the new field, but you sure will be junior and while you are getting up to speed, your skills in the other field may fall behind. Maybe I would feel differently if I didn't already have so much investment in the MS world - could I make the switch? Sure...would it be painless? Not at all.

        1 Reply Last reply
        0
        • G Gizz

          Please accept my sincere apologies if you thought I was being impolite. I was of course using the word daft in the Northern English sense of slightly off, as opposed to perhaps the more literal 'stupid' - I would never call someone stupid, even if they were. As for the comparison between electrician and plumber, being as I am qualified in both disciplines, I think there are plenty of parallels in terms of skill sets and so forth, in much the same way that programming in C# or Java have parallels - hence why I used the example. Be that as it may, please, again, accept my heartfelt apologies at any slight that you may have perceived.

          J Offline
          J Offline
          Jeff Connelly
          wrote on last edited by
          #28

          Gizz wrote:

          As for the comparison between electrician and plumber, being as I am qualified in both disciplines

          But at one point you were only qualified in one of them, right? Which if you think about it, is kind of his point. I think this is one of those debates that doesn't have a correct answer.

          1 Reply Last reply
          0
          • S Schmuli

            I have been working in a 9-to-5 job as a programmer for the last 3 1/2 years. I started with C# and after about two years moved to Java. At the time, it wasn't my choice to make the move to Java, rather the company as a whole decided to move to Java because of cross-platform requirements. Now however I'm between projects, and although I decided to continue with C#, I have received an offer for a job in Java. The opinion being used to convince me, is that the language and frameworks are not that important, rather the knowledge of how to program correctly is what is important. Whilst I agree that language is not that important, I still have, for some reason, a stronger desire to work in .NET, but can't seem to place my finger on the exact reason (or at least express it in words clearly). So, my question to everyone is: If you were in such a position, why would you choose to program in your chosen language/framework? Schmuli. P.s. I don't think the cross-platform argument is relevant, because if it is required then .NET is not really option to begin with.

            M Offline
            M Offline
            mrchief_2000
            wrote on last edited by
            #29

            I recently heard that Java fetches you higher billing rates relatively than .Net :-D

            1 Reply Last reply
            0
            • W wizardzz

              Who cares about the language between those 2, they'll both be around in the future. Go with the job with the best company future, pays more, has better hours, and vacation days. Hell, I'll write COBOL if the compensation package is right. ...Yeah ...I'm 28 and know(at some point) COBOL.

              P Offline
              P Offline
              pboucher
              wrote on last edited by
              #30

              "Who cares about the language between those 2, they'll both be around in the future. Go with the job with the best company future, pays more, has better hours, and vacation days. Hell, I'll write COBOL if the compensation package is right." Well, you are right because this is your opinion. For me, your opinion does not fit mine. Programming is not just a job with a salary and other advantages. Yes they count, but some of us will identify with a particular technology, language, framework and so on. This being said, I would not work with my preferred language for half the salary offered by another job. The company is important, the projects, the technology and the people are important as long as you are not exploited in any ways (work hours, salary, benefits, ...) Normally, all those points needs to be addressed before you make a choice. I say normally because sometimes you've got no choice and you need that job, no matter what. So to resume my opinion, if you have the choice between two jobs with different languages, you need to answer this question: which of the two will give me more pleasure programming in? Then you will have given yourself a daily playground time and that's a lot of fun. For those who program to simply earn a living (which is also fine with me), just look at the salary and other benefits and thats your choice. IMHO, you are missing something.

              Pierre Boucher 'Bien souvent on se rend coupable en négligeant d'agir, et non pas seulement en agissant.' - Marc Aurèle, empereur et philosophe romain.

              W 1 Reply Last reply
              0
              • F Fabio Franco

                Schmuli wrote:

                ecided to move to Java because of cross-platform requirements.

                Well, you and your company should learn about mono[^].

                Schmuli wrote:

                the language and frameworks are not that important

                Yes they are. Language is less important than the framework, but both are important. Frameworks add capability and ways not to reinvent the wheel. .Net has grown big, you're natively capable of many things now that you would strugle to do in other frameworks. Also, some frameworks constrain the developer to certain tasks. As an example, try to build a device driver in java. And the language, yes, it also makes a lot of difference. C# has surpassed java in capabilities, many things you can do natively in C# you have to do tricks in java (like events that require the use of reflection and math work if you need unsigned native types). For a simple list: Comparison of C# and Java[^]. (I know the article is under dispute, but I don't think it deserves the title).

                Schmuli wrote:

                If you were in such a position, why would you choose to program in your chosen language/framework?

                1 - I'd decide on which has more capabilities and that has a strong future. 2 - Taste 3 - I'd go for .net simply because I like to be on the dark side. ;)

                M Offline
                M Offline
                Member 96
                wrote on last edited by
                #31

                Mono is only relevant if you start a new project targeting mono specifically. When you have an existing mature Microsoft.net project there's no way you're going to port it to Mono without a lot of grief.


                There is no failure only feedback

                F 1 Reply Last reply
                0
                • P pboucher

                  "Who cares about the language between those 2, they'll both be around in the future. Go with the job with the best company future, pays more, has better hours, and vacation days. Hell, I'll write COBOL if the compensation package is right." Well, you are right because this is your opinion. For me, your opinion does not fit mine. Programming is not just a job with a salary and other advantages. Yes they count, but some of us will identify with a particular technology, language, framework and so on. This being said, I would not work with my preferred language for half the salary offered by another job. The company is important, the projects, the technology and the people are important as long as you are not exploited in any ways (work hours, salary, benefits, ...) Normally, all those points needs to be addressed before you make a choice. I say normally because sometimes you've got no choice and you need that job, no matter what. So to resume my opinion, if you have the choice between two jobs with different languages, you need to answer this question: which of the two will give me more pleasure programming in? Then you will have given yourself a daily playground time and that's a lot of fun. For those who program to simply earn a living (which is also fine with me), just look at the salary and other benefits and thats your choice. IMHO, you are missing something.

                  Pierre Boucher 'Bien souvent on se rend coupable en négligeant d'agir, et non pas seulement en agissant.' - Marc Aurèle, empereur et philosophe romain.

                  W Offline
                  W Offline
                  wizardzz
                  wrote on last edited by
                  #32

                  The reason I say the job is more important than the language is that given that these 2 languages are both OO and relevant right now, the company seems to be on a decent track (at least they aren't stuck in archaic legacy systems). This being the case, I would choose based on everything but the language because there is no guarantee that you will be using that same language in 3-5 years. If it was C++ I would say it's more unlikely, but a company that uses JAVA or .NET is the type of company that may adopt a different language in another 5-10 years. Choosing the JAVA based company only really means that you will be using JAVA immediately. My university switched from C++ to JAVA in my 3rd year of courses, and by the time I finished was considering Python as the main language. I'm just saying there's no guarantee. I feel if you are stuck on your favorite language, you might become an old dog unwilling to learn a new trick, which could be career suicide in this industry. Also, since you are coding for reasons greater than money, it may be an intellectually rewarding challenge to explore a language outside of your comfort zone.

                  P 1 Reply Last reply
                  0
                  • M Member 96

                    Mono is only relevant if you start a new project targeting mono specifically. When you have an existing mature Microsoft.net project there's no way you're going to port it to Mono without a lot of grief.


                    There is no failure only feedback

                    F Offline
                    F Offline
                    Fabio Franco
                    wrote on last edited by
                    #33

                    I've ported a windows forms application fully developed on Visual Studio who makes hevy use of sockets, GDI+ and key handling without changing a single line of code. It didn't have data access, but I beleive it should not be that "lot" of grief you mention. In any case, when a project requires multi-platform, the sanest thing is to build against mono from start.

                    M 1 Reply Last reply
                    0
                    • W wizardzz

                      The reason I say the job is more important than the language is that given that these 2 languages are both OO and relevant right now, the company seems to be on a decent track (at least they aren't stuck in archaic legacy systems). This being the case, I would choose based on everything but the language because there is no guarantee that you will be using that same language in 3-5 years. If it was C++ I would say it's more unlikely, but a company that uses JAVA or .NET is the type of company that may adopt a different language in another 5-10 years. Choosing the JAVA based company only really means that you will be using JAVA immediately. My university switched from C++ to JAVA in my 3rd year of courses, and by the time I finished was considering Python as the main language. I'm just saying there's no guarantee. I feel if you are stuck on your favorite language, you might become an old dog unwilling to learn a new trick, which could be career suicide in this industry. Also, since you are coding for reasons greater than money, it may be an intellectually rewarding challenge to explore a language outside of your comfort zone.

                      P Offline
                      P Offline
                      pboucher
                      wrote on last edited by
                      #34

                      I agree with most of what you are saying but with some reserve. I do explore other languages for the intellectual rewarding it gives me, but on a personal basis. It is also a good way to ready myself in case I've got to move in order to keep working. This being said, the language and the framework that comes with it (true to java and .Net) are only part of the equation. The other part is mainly how you use it to resolve the problems you are given. There are tons of libraries to choose from (server or client side), patterns to implements or ready to use (ex: .Net MVC), programming approaches (XP, Agile, ...), analysis and documentation techniques (ex: UML with or without use cases), there are those meetings where we need to design the class structures, the database physical and logical representations, and so on. Those are what mainly keeps me outside of my comfort zone because those are the areas where it keeps changing the most and because the problems we need to addresses are constantly evolving. But at the end, the final product is the code that makes the solution lives and that's where the fun part is. Code means language. In my case, C# and .Net is where I still have a lot of fun and at the speed at which the language and the framework are evolving, my need to learn new tricks is perfectly feed. But I must say, after 25 years in this industry, I have changed languages a few time already and I might have to do it again in the future. If or when it happens, I'll try to pick an other language with which I can have some stability for a while and a lot of fun!!!

                      Pierre Boucher 'Bien souvent on se rend coupable en négligeant d'agir, et non pas seulement en agissant.' - Marc Aurèle, empereur et philosophe romain.

                      1 Reply Last reply
                      0
                      • F Fabio Franco

                        I've ported a windows forms application fully developed on Visual Studio who makes hevy use of sockets, GDI+ and key handling without changing a single line of code. It didn't have data access, but I beleive it should not be that "lot" of grief you mention. In any case, when a project requires multi-platform, the sanest thing is to build against mono from start.

                        M Offline
                        M Offline
                        Member 96
                        wrote on last edited by
                        #35

                        I've yet to see any significant app written for MS .net even remotely capable of being ported without changing a single line of code. If you're talking about some little utility app without a modern user interface then perhaps but nothing of significance. In my experience (and I've looked into this many times over the years as MONO matures) there's just no way to do it without a world of rewriting and grief. You could do it if you didn't use *any* of the big third party UI component libraries (they all make native calls) and if you didn't use the many parts of .net that have yet to be implemented in MONO or at least weren't the last time I looked including some pretty significant stuff like midpoint rounding in decimal (which any financial data handling app requires) and much much more.


                        There is no failure only feedback

                        F 1 Reply Last reply
                        0
                        • M Member 96

                          I've yet to see any significant app written for MS .net even remotely capable of being ported without changing a single line of code. If you're talking about some little utility app without a modern user interface then perhaps but nothing of significance. In my experience (and I've looked into this many times over the years as MONO matures) there's just no way to do it without a world of rewriting and grief. You could do it if you didn't use *any* of the big third party UI component libraries (they all make native calls) and if you didn't use the many parts of .net that have yet to be implemented in MONO or at least weren't the last time I looked including some pretty significant stuff like midpoint rounding in decimal (which any financial data handling app requires) and much much more.


                          There is no failure only feedback

                          F Offline
                          F Offline
                          Fabio Franco
                          wrote on last edited by
                          #36

                          Ok, just so we clear things up, the app's I've done that didn't require a single line of code change were based on Windows Forms. No third party UI components, I've never used them anyways, as my applications are industry based, they never required eye candy. The application I'm talking about is an application that communicates with machinery via GPIB interface, serial and parallel ports. Some of the client modules just get tabular data other get values and draw a graphic in real-time (like task manager's memory monitor). All of them send the information back to the host via socket class. The client application runs on openSuse and connects to the hardware, the host is on windows. Both client and host were developed and tested on VS and windows. I then compiled the projects using mono. If I changed a line of code, it was rare, I don't recall if I had to do any adjustments. The bottom line: No grief AT ALL. You might have had a bad experience, but it does not mean it's always like that for everyone. My point is, significant apps CAN be considered to be built against mono to be used on significant apps. Just because you haven't seen it, it doesn't mean it doesn't exist. Maybe when you had trouble, mono wasn't so mature. I don't know. But saying "there's just no way to do it without a world of rewriting and grief" is just assuming something without really knowing it. Perhaps some kind of apps can give grief, while others don't. But don't generalize. The important thing is to analyze the case and then decide if it fits, not throw it away first hand.

                          M 1 Reply Last reply
                          0
                          • F Fabio Franco

                            Ok, just so we clear things up, the app's I've done that didn't require a single line of code change were based on Windows Forms. No third party UI components, I've never used them anyways, as my applications are industry based, they never required eye candy. The application I'm talking about is an application that communicates with machinery via GPIB interface, serial and parallel ports. Some of the client modules just get tabular data other get values and draw a graphic in real-time (like task manager's memory monitor). All of them send the information back to the host via socket class. The client application runs on openSuse and connects to the hardware, the host is on windows. Both client and host were developed and tested on VS and windows. I then compiled the projects using mono. If I changed a line of code, it was rare, I don't recall if I had to do any adjustments. The bottom line: No grief AT ALL. You might have had a bad experience, but it does not mean it's always like that for everyone. My point is, significant apps CAN be considered to be built against mono to be used on significant apps. Just because you haven't seen it, it doesn't mean it doesn't exist. Maybe when you had trouble, mono wasn't so mature. I don't know. But saying "there's just no way to do it without a world of rewriting and grief" is just assuming something without really knowing it. Perhaps some kind of apps can give grief, while others don't. But don't generalize. The important thing is to analyze the case and then decide if it fits, not throw it away first hand.

                            M Offline
                            M Offline
                            Member 96
                            wrote on last edited by
                            #37

                            I see and agree with what you're saying my experience is with large scale commercial apps sold globally and that sometimes clouds my perspective perhaps but even putting aside 3rd party libraries when we did look at it there was a lot of really *fundamental* stuff yet to be implemented in MONO.


                            There is no failure only feedback

                            F 1 Reply Last reply
                            0
                            • M Member 96

                              I see and agree with what you're saying my experience is with large scale commercial apps sold globally and that sometimes clouds my perspective perhaps but even putting aside 3rd party libraries when we did look at it there was a lot of really *fundamental* stuff yet to be implemented in MONO.


                              There is no failure only feedback

                              F Offline
                              F Offline
                              Fabio Franco
                              wrote on last edited by
                              #38

                              John C wrote:

                              there was a lot of really *fundamental* stuff yet to be implemented in MONO

                              You know about that more than I do. I never though there would be fundamental stuff missing, I really beleived fundamental stuff were 100% implmented and cross-compatible. I'd expect problems in WPF (DirectX on linux? :wtf: ), WCF, Silverlight, etc. But not in the BCL or ADO.NET 2.0. I think it really depends of the application. By the way, my WinForm Extended[^] is not cross-platform.

                              M 1 Reply Last reply
                              0
                              • F Fabio Franco

                                John C wrote:

                                there was a lot of really *fundamental* stuff yet to be implemented in MONO

                                You know about that more than I do. I never though there would be fundamental stuff missing, I really beleived fundamental stuff were 100% implmented and cross-compatible. I'd expect problems in WPF (DirectX on linux? :wtf: ), WCF, Silverlight, etc. But not in the BCL or ADO.NET 2.0. I think it really depends of the application. By the way, my WinForm Extended[^] is not cross-platform.

                                M Offline
                                M Offline
                                Member 96
                                wrote on last edited by
                                #39

                                I don't know if that is still the case but the last time I checked it was. I faithfully ran that utility they had to scan your app for mono compatibility and submitted the report which contained thousands of items not implmented or supported over and over every time there was new release of mono for a couple of years and none of core stuff I required was ever implemented (decimal.round midpoint rounding comes to mind but there were *many* more) and I finally just said fuck it they don't take this seriously why bother and haven't looked at it again in at least a year, maybe two now. I think it's a perfectly valid way to go I just think it's best if you are starting a new app and you aim for MONO first which guarantees cross platform compatibility and of course if it's a business app you need to find a way to do proper reporting and modern UI as well because you can't rely on the really useful and almost indispensable 3rd party control libraries like DevExpress / Infragistics etc. In other words the time to market is going to be a lot longer if you're targeting MONO but it can be done.


                                There is no failure only feedback

                                1 Reply Last reply
                                0
                                • S Schmuli

                                  I have been working in a 9-to-5 job as a programmer for the last 3 1/2 years. I started with C# and after about two years moved to Java. At the time, it wasn't my choice to make the move to Java, rather the company as a whole decided to move to Java because of cross-platform requirements. Now however I'm between projects, and although I decided to continue with C#, I have received an offer for a job in Java. The opinion being used to convince me, is that the language and frameworks are not that important, rather the knowledge of how to program correctly is what is important. Whilst I agree that language is not that important, I still have, for some reason, a stronger desire to work in .NET, but can't seem to place my finger on the exact reason (or at least express it in words clearly). So, my question to everyone is: If you were in such a position, why would you choose to program in your chosen language/framework? Schmuli. P.s. I don't think the cross-platform argument is relevant, because if it is required then .NET is not really option to begin with.

                                  C Offline
                                  C Offline
                                  CodeRichardWong
                                  wrote on last edited by
                                  #40

                                  Go on with whatever you like. Choice war between Java and .Net has no ending. once ended, another era will open. Then, AA maybe a better choice. :)

                                  1 Reply Last reply
                                  0
                                  • G Gizz

                                    "10 years of C# for example, moving to Java would be a good choice, becouse it would add more value " Thats a daft argument! Thats like saying, oh I've got 10 years experience as a plumber, so I'll give being an electrician a go, it will broaden my remit - no, it just means you'll have 10 years experience of one thing and zero experience of another - why then would someone employ you in the trade where you have nil experience?

                                    C Offline
                                    C Offline
                                    CurtainDog
                                    wrote on last edited by
                                    #41

                                    Daft or no that's the way things work in the software world. Jobs-wise there no point in having more than 5 years anything on your CV (maybe academia is an exception?).

                                    1 Reply Last reply
                                    0
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes


                                    • Login

                                    • Don't have an account? Register

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • World
                                    • Users
                                    • Groups