topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Friday December 13, 2024, 10:54 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: Is it wise for amateur to invest time in NET Framework languages?  (Read 19765 times)

dmytron

  • Member
  • Joined in 2014
  • **
  • Posts: 43
    • View Profile
    • Donate to Member
I'm an amateur programmer so no business talk here (and no buying IDEs).

Currently I'm using Lazarus as my programming language and IDE. However, interface of Lazarus is pretty ugly so it's discouraging for me to use it.

I think about learning NET languages because Visual Studio is known to be easier for amateurs. Besides, it's going to be open source somewhere in the future. But I don't like Microsoft very much.

Is it wise to learn NET languages? Can their applications be run on Linux and Mac? I ask because people ask me to create apps for these platforms too.

What other languages can you advise me to learn? I considered Java but it's looks too hard.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #1 on: November 19, 2014, 01:35 PM »
Welcome to the site, dmytron  :up:

The current state of cross-platform development (writing code that runs on windows, mac, linux) is still in flux and not yet settled, so there is no one answer that is going to be completely satisfactory.

Recent developments in .NET are exciting in terms of the possibility that it will eventually become a serious option for cross platform development.  I don't think it's quite there yet.

Java has proven itself to be a good option for cross platform DESKTOP coding, and it is the preferred choice for Android mobile coding.  That leaves out Apple's iPhone/iPad of course.

If you aren't interested so much in Graphical User Interface stuff and mobile stuff, you also have some other options like Python.

I'm sorry that I don't have a very specific answer for you, but I guess my best answer goes something like this:

*DO* try to learn another language and ide.  Java would be a good choice and so would a .NET language like C#.  Start slowly and don't bite off more than you can chew.

The modern IDEs are insanely over-complicated and full of so many options and features and tools and stuff, that it can be completely overwhelming.  I think we're going to see a backlash against this one day -- because in the early stages of learning it makes everything more confusing and overwhelming.  Get yourself a good book and/or walk through some tutorials and just learn one thing at a time.

dmytron

  • Member
  • Joined in 2014
  • **
  • Posts: 43
    • View Profile
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #2 on: November 19, 2014, 01:42 PM »
Thanks for the answer. Yes, I'm definitely desktop programmer and I'm trying to find free programming IDE like Delpi but much nicer than Lazarus. Is there something like Delpi or Visual Studio but free and flexible?

Ath

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 3,629
    • View Profile
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #3 on: November 19, 2014, 01:51 PM »
(While I was typing, mouser also posted, but...) In addition to what mouser said:

Javaw is as 'hard' as C#w, the mainstream .NET language, and does officially run on both Linux and Mac, next to Windows and a plethora of other OS's like Android (though with it's own programming model) and many embedded systems (think: IoTw).
.NET languages can be (created, compiled and) run on Linux, and derivatives like Mac, using the Mono compilers and runtime, but it is a kinda 'reverse-engineered' solution, as it originally wasn't supported by Microsoft, and still isn't fully feature-complete compared to the current .NET runtime, and some parts will even never be done for Mono.

The major IDE's for Java, Eclipse and NetBeans, are free. And there is a free community edition of IntelliJ IDEA by Jetbrains next to a paid version, where the free edition is also the base for the new Android Studio from Google (that currently has Eclipse as it's foundation).

Next to that, solutions for any programming dilemma in Java can easily be found using Google, while for .NET that can be a lot harder to find, or end up in a commercial solution.

(All of the above from personal experience)

Deozaan

  • Charter Member
  • Joined in 2006
  • ***
  • Points: 1
  • Posts: 9,778
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #4 on: November 19, 2014, 02:38 PM »
Considering that .NET has recently announced it is going open source (and therefore, easily cross-platform), and Microsoft has recently made Visual Studio Community Edition free, I'd say it's looking like .NET will (relatively) soon be another ubiquitous language.

Keeping in mind the cautions expressed by mouser and Ath, but perhaps being a bit more optimistic, I (personally) wouldn't say it is unwise to learn .NET framework languages. Especially C#.

This is coming from someone who has been programming in C# for the past two years and making desktop builds for Windows, Mac, and Linux.

40hz

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 11,859
    • View Profile
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #5 on: November 19, 2014, 02:40 PM »
I'm not a professional programmer, but I do occasionally code something for myself (or a client) out of sheer necessity. So I guess I'm in much the same spot as you are - except that I have considerably less ambition than you have. ;D

I've found sticking to Java as a cross-platform desktop dev language and working with NetBeans as my IDE give me the most bang for the effort. Some good interface building tools using Swing are in there too. Nothing that will win you awards for brilliant design. But they'll be familiar looking and more than nice enough for public deployment.

And that's my tuppence. I'll now yield the floor to those Doco members who really do know what they're talking about.

Luck! :Thmbsup:
« Last Edit: November 20, 2014, 10:00 AM by 40hz »

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,190
    • View Profile
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #6 on: November 19, 2014, 02:41 PM »
Thanks for the answer. Yes, I'm definitely desktop programmer and I'm trying to find free programming IDE like Delpi but much nicer than Lazarus. Is there something like Delpi or Visual Studio but free and flexible?

http://www.visualstu...al-studio-express-vs

Deozaan

  • Charter Member
  • Joined in 2006
  • ***
  • Points: 1
  • Posts: 9,778
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #7 on: November 19, 2014, 02:46 PM »
Thanks for the answer. Yes, I'm definitely desktop programmer and I'm trying to find free programming IDE like Delpi but much nicer than Lazarus. Is there something like Delpi or Visual Studio but free and flexible?

http://www.visualstu...al-studio-express-vs

Don't get express. Get Community (big banner at the top of the page wraith linked). It's basically VS Pro, but free.

http://www.visualstu...-studio-community-vs

Q: Who can use Visual Studio Community?
A: Here’s how individual developers can use Visual Studio Community:
  • Any individual developer can use Visual Studio Community to create their own free or paid apps.

Here’s how Visual Studio Community can be used in organizations:
  • An unlimited number of users within an organization can use Visual Studio Community for the following scenarios: in a classroom learning environment, for academic research, or for contributing to open source projects.
  • For all other usage scenarios: In non-enterprise organizations, up to 5 users can use Visual Studio Community. In enterprise organizations (meaning those with >250 PCs or > $1 Million US Dollars in annual revenue), no use is permitted beyond the open source, academic research, and classroom learning environment scenarios described above.

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #8 on: November 19, 2014, 05:43 PM »
I never got deeply into Bertrand Meyer's Eifel language.  But his book on OOP helped me get the idea.  Apparently EifelStudio is free and cross platform:
https://www.eiffel.com/eiffelstudio/

dmytron

  • Member
  • Joined in 2014
  • **
  • Posts: 43
    • View Profile
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #9 on: November 20, 2014, 02:41 AM »
Thanks for the answers. I would never thought that Microsoft would do something like Community Edition; it's not their style. But facts are facts. All I have to do now is to move from XP to 7.

programming in C# for the past two years and making desktop builds for Windows, Mac, and Linux.

Could you please elaborate on this topic? How do you make cross-platform apps on C#?

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #10 on: November 20, 2014, 02:53 AM »
Using: Mono.

Renegade

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 13,291
  • Tell me something you don't know...
    • View Profile
    • Renegade Minds
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #11 on: November 20, 2014, 03:49 AM »
Could you please elaborate on this topic? How do you make cross-platform apps on C#?

As mouser said, Mono. Make sure to use MonoDevelop or Xamarin Studio though. (I'd say go for MonoDevelop -- save Xamarin Studio for when you're making the big buck$.) EDIT - Xamarin Studio is the proper release now. They have free functionality in it, etc. etc.

The GTK# toolkit is actually pretty good.

I put out one very simple program using it here:

http://cynic.me/2012...-linux-and-mac-os-x/

Source code is all there, so you can check it out in a nice, simple and easy application.

It's very different than Winforms, but once you get used to it, it's ok.

That being said, the concepts of gravity and some other things in there are a bit bizarre at first, especially coming from some other toolkits.

I've tried to use Qt, but it's simply so horrible to get working in .NET that I'd rather cut my eyeballs out with a steam shovel.

But, do get MonoDevelop Xamarin Studio and play around. The Mono team is really good, and you can actually chat with them on IRC. (But don't pester them with things that you can search for and look up on your own - they're too busy to answer questions that have been answered 1000 times.)

Slow Down Music - Where I commit thought crimes...

Freedom is the right to be wrong, not the right to do wrong. - John Diefenbaker
« Last Edit: November 20, 2014, 03:59 AM by Renegade, Reason: Updated to be updated to current update. »

dmytron

  • Member
  • Joined in 2014
  • **
  • Posts: 43
    • View Profile
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #12 on: November 20, 2014, 04:09 AM »
I have tried installing Mono and Xamarin Studio but on opening I see the message that Xamarin can't find any GTK on my computer (although it's definitely installed).

EDIT: I have found now that new version of Xamarin Studio requires at least Vista.
« Last Edit: November 20, 2014, 04:39 AM by dmytron »

Renegade

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 13,291
  • Tell me something you don't know...
    • View Profile
    • Renegade Minds
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #13 on: November 20, 2014, 06:14 AM »
IIRC, you need GTK# and not GTK. I think 2.12.25 is the current version. But you do need to install GTK# as well. I've not used it in a bit, but last I did, it was a separate install.

I've uploaded MonoDevelop v3.0.5 for you here:

http://cynic.me/Mono...evelop-3.0.5.msi.zip

Let me know when you've downloaded it so that I can remove it.

That should work in XP.

I have a few Mono DMGs for OS X as well if you need, but they're all at least 2 years old. v3.0.3.2 is the most recent that I have.

Slow Down Music - Where I commit thought crimes...

Freedom is the right to be wrong, not the right to do wrong. - John Diefenbaker

dmytron

  • Member
  • Joined in 2014
  • **
  • Posts: 43
    • View Profile
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #14 on: November 20, 2014, 06:46 AM »
I've downloaded it. You can safely delete the file.

Renegade

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 13,291
  • Tell me something you don't know...
    • View Profile
    • Renegade Minds
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #15 on: November 20, 2014, 06:50 AM »
I've downloaded it. You can safely delete the file.

Thanks for letting me know.
Slow Down Music - Where I commit thought crimes...

Freedom is the right to be wrong, not the right to do wrong. - John Diefenbaker

Deozaan

  • Charter Member
  • Joined in 2006
  • ***
  • Points: 1
  • Posts: 9,778
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #16 on: November 20, 2014, 06:33 PM »
Could you please elaborate on this topic? How do you make cross-platform apps on C#?

I've been using Unity which indeed uses mono for cross-platform support. But perhaps in a couple of years they'll just be using pure .NET since it's going open source. :)

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #17 on: November 21, 2014, 06:01 AM »
The other development solutions are more popular.  But Eifel may be worth a look. It has been around since 1988.  The associated book, Object Oriented Software Construction is very technical.  At least I didn't understand most of it when I read it.  That may tend to put off those who might otherwise try it.

You would have to check the particulars for the IDE but I'd be surprised if it didn't produce compiled executable code for each platform.

I don't think it's all that far from Java in that, if I remember rightly, everything must be defined as a class before use etc..

phitsc

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 1,198
    • View Profile
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #18 on: November 21, 2014, 08:17 AM »
If the question is about learning a programming language which is useful for a hobby programmer, I would not recommend learning Eiffel. While Eiffel is being used for production applications it is nevertheless mostly a niche language used primarily in academia (and probably only at ETHZ). Eiffel has interesting concepts from a computer science point of view (primarily its strong support for design-by-contract, and lately its verification support through AutoProof), but the useful ones have already found their way into more common languages.

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #19 on: November 21, 2014, 09:24 AM »
If the question is about learning a programming language which is useful for a hobby programmer, I would not recommend learning Eiffel. While Eiffel is being used for production applications it is nevertheless mostly a niche language used primarily in academia (and probably only at ETHZ). Eiffel has interesting concepts from a computer science point of view (primarily its strong support for design-by-contract, and lately its verification support through AutoProof), but the useful ones have already found their way into more common languages.

If it doesn't have a form designer then it's probably not what the OP is looking for anyway.  I too tried Lazarus when I was looking for something Delphi 64 bit.  Things simple in Delphi 5 seemed like a struggle in Lazarus.

The big drawback to .NET is people won't try your program if they have to install yet another framework.  It tends to make you use what you figure most people already have on like .NET 2.x features.


wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,190
    • View Profile
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #20 on: November 21, 2014, 10:01 AM »
The big drawback to .NET is people won't try your program if they have to install yet another framework.  It tends to make you use what you figure most people already have on like .NET 2.x features.

That might have been a consideration at one point... but that point is pretty far gone.  You can plan on .NET 4 at least currently (and that's what I code to).

phitsc

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 1,198
    • View Profile
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #21 on: November 21, 2014, 10:04 AM »
The big drawback to .NET is people won't try your program if they have to install yet another framework.  It tends to make you use what you figure most people already have on like .NET 2.x features.

That might have been a consideration at one point... but that point is pretty far gone.  You can plan on .NET 4 at least currently (and that's what I code to).

If you want to target Mono as well you need to check what's available there though (e.g. no WPF).

phitsc

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 1,198
    • View Profile
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #22 on: November 21, 2014, 10:07 AM »
What other languages can you advise me to learn? I considered Java but it's looks too hard.

I don't think C# is simpler to learn than Java. I'd say they are comparable in size and complexity, both the languages and the accompanying libraries.

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #23 on: November 21, 2014, 01:28 PM »
What other languages can you advise me to learn? I considered Java but it's looks too hard.

I don't think C# is simpler to learn than Java. I'd say they are comparable in size and complexity, both the languages and the accompanying libraries.

C# Form Designer may feel familiar as I believe some people from Borland migrated to MS.  Also any experience in c type languages helps.  I haven't done much more than dabble with Java.  But I assume the portability is more straight ahead as it was designed in from the ground up.

I would definitely avoid Visual C++ Form Design as everything is just chucked into a header file that's one big mess.  If you wanted to code a module with no UI, or "engine," that's where it could come in.  But for hobbyist programming I think I'd learn C++ command line stuff first.

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,190
    • View Profile
    • Donate to Member
Re: Is it wise for amateur to invest time in NET Framework languages?
« Reply #24 on: November 21, 2014, 03:20 PM »
What other languages can you advise me to learn? I considered Java but it's looks too hard.

I don't think C# is simpler to learn than Java. I'd say they are comparable in size and complexity, both the languages and the accompanying libraries.

When I first started migrating from Delphi, my two paths were Java and C#.

Today, I program in C#, because from my experience, for a Delphi programmer, C# is easier to become productive in.