Recent

Author Topic: Will monodevelop case impact to attracting new user?  (Read 29353 times)

lyh1

  • New Member
  • *
  • Posts: 19
Will monodevelop case impact to attracting new user?
« on: July 06, 2010, 09:47:26 pm »
Just found that there is a VS like IDE call monodevelop, and seems it is not for .net only.
Lazarus/FPC have many overlaping with it, so I start a topic here to discuss.
http://monodevelop.com/

theo

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1890
Re: Will monodevelop case impact to attracting new user?
« Reply #1 on: July 06, 2010, 10:14:29 pm »
No. Monodevelop exists since 2003.
I don't know if anybody is using it.

JD

  • Hero Member
  • *****
  • Posts: 1758
Re: Will monodevelop case impact to attracting new user?
« Reply #2 on: July 07, 2010, 02:01:33 am »
I've tried both MonoDevelop & its parent SharpDevelop. They cater to the .NET community's demand for opensource, crossplatform (MonoDevelop only) tools. They both require the presence of the .NET runtime & optionally the .NET SDK to work. That was the dealbreaker for me!  >:( Their component sets are also extremely limited.

In my opinion, it is far easier & more productive to use Lazarus/FreePascal than those tools, managed code or no managed code. Lazarus/FreePascal supports RAD & has no silly dependencies like .NET  :D

Incidentally, .NET took off when Anders Hejlsberg, the Borland engineer that created Turbo Pascal & worked on Delphi left Borland & joined Microsoft to work on the C# language

http://en.wikipedia.org/wiki/Anders_Hejlsberg
« Last Edit: July 07, 2010, 02:09:03 am by JD »
Windows (10, 7) - Lazarus 2.0RC3/FPC 3.2, NewPascal, Delphi

Indy 10.6 series; mORMot; Zeos 7.2.1; SQLite, Firebird, PostgreSQL & MariaDB; VirtualTreeView 5.5.3 R1

Troodon

  • Sr. Member
  • ****
  • Posts: 484
Re: Will monodevelop case impact to attracting new user?
« Reply #3 on: July 07, 2010, 02:07:05 pm »
In my opinion, it is far easier & more productive to use Lazarus/FreePascal than those tools, managed code or no managed code. Lazarus/FreePascal supports RAD & has no silly dependencies like .NET

Right, except that .Net is a runtime that comes preinstalled on newer Windows versions and it gives you access to all APIs on that platform, with examples being provided on MSDN and tons of example code freely available on the Web. That is one of our little problems in Lazarus/FPC, access to the libraries. The deal breaker for me is that .Net byte code is relatively easy to reverse engineer and performance is slightly below what you get with native code.
Lazarus/FPC on Linux

JD

  • Hero Member
  • *****
  • Posts: 1758
Re: Will monodevelop case impact to attracting new user?
« Reply #4 on: July 07, 2010, 02:33:35 pm »
In my opinion, it is far easier & more productive to use Lazarus/FreePascal than those tools, managed code or no managed code. Lazarus/FreePascal supports RAD & has no silly dependencies like .NET

Right, except that .Net is a runtime that comes preinstalled on newer Windows versions and it gives you access to all APIs on that platform, with examples being provided on MSDN and tons of example code freely available on the Web. That is one of our little problems in Lazarus/FPC, access to the libraries. The deal breaker for me is that .Net byte code is relatively easy to reverse engineer and performance is slightly below what you get with native code.

I forgot to add the biggest .Net annoyance of them all for me. I discovered that programs written for one version of a .Net runtime may not work for another version of the .Net runtime. For example, I have .Net 3.5 runtime installed on my machine & if I want to use programs developed for .Net versions 1.1 & 2.0, I need to also install the runtimes for those version.  >:(

I thought that the never .Net versions were supersets of the older versions but apparently that was not the case. I don't want to have different versions of the .Net runtimes running on my machine. I don't know if this is the case with .Net 4 because I've stopped development for .Net

As for access to Lazarus/FPC example code & libraries, I lean heavily on what is available for Delphi on the Web. I then do whatever conversion is necessary to make it work in Lazarus/FPC.
Windows (10, 7) - Lazarus 2.0RC3/FPC 3.2, NewPascal, Delphi

Indy 10.6 series; mORMot; Zeos 7.2.1; SQLite, Firebird, PostgreSQL & MariaDB; VirtualTreeView 5.5.3 R1

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 7493
Re: Will monodevelop case impact to attracting new user?
« Reply #5 on: July 07, 2010, 02:34:31 pm »
To the ones that tried it, does it stand the Delphi/lazarus test ? Does doubleclicking a button jump to the source where the code can be written to handle it?

I never want to use anything again where the designer is like a loosely coupled IDE component, and where you have maintain your own tables or whatever to see what component maps to which code.

Does it have intellisense like functionality? Only an editor feature, but one that is hard to miss. (and the Lazarus one is getting pretty good)

JD

  • Hero Member
  • *****
  • Posts: 1758
Re: Will monodevelop case impact to attracting new user?
« Reply #6 on: July 07, 2010, 03:05:31 pm »
To the ones that tried it, does it stand the Delphi/lazarus test ? Does doubleclicking a button jump to the source where the code can be written to handle it?

Does it have intellisense like functionality? Only an editor feature, but one that is hard to miss. (and the Lazarus one is getting pretty good)

Yes to all the questions you asked above. The IDE is very good. See the attached screenshot for the SharpDevelop's editor intellisense. My problem is with the .Net idiosyncracies.
Windows (10, 7) - Lazarus 2.0RC3/FPC 3.2, NewPascal, Delphi

Indy 10.6 series; mORMot; Zeos 7.2.1; SQLite, Firebird, PostgreSQL & MariaDB; VirtualTreeView 5.5.3 R1

Troodon

  • Sr. Member
  • ****
  • Posts: 484
Re: Will monodevelop case impact to attracting new user?
« Reply #7 on: July 07, 2010, 03:49:43 pm »
I discovered that programs written for one version of a .Net runtime may not work for another version of the .Net runtime. For example, I have .Net 3.5 runtime installed on my machine & if I want to use programs developed for .Net versions 1.1 & 2.0, I need to also install the runtimes for those version.

The way I understand it, in the .Net world releases 1.0/1.1 are standalone (not included in higher releases) while higher releases are backward compatible down to 2.0. That is:

3.0 = 2.0 + extensions
3.5 = 2.0 + 3.0 + extensions

and so on. However, they can be installed side by side. I read a comment on a forum saying that an app may be unable to detect the installed .Net release(s) correctly unless they were installed via Windows Update.
Lazarus/FPC on Linux

Phil

  • Hero Member
  • *****
  • Posts: 2750
Re: Will monodevelop case impact to attracting new user?
« Reply #8 on: July 07, 2010, 04:54:43 pm »

The way I understand it, in the .Net world releases 1.0/1.1 are standalone (not included in higher releases) while higher releases are backward compatible down to 2.0. That is:

3.0 = 2.0 + extensions
3.5 = 2.0 + 3.0 + extensions


Yes, you are correct, as any number of sources will confirm:

http://en.wikipedia.org/wiki/.NET_Framework

But even if this were not true, that is, even if you had to manually run a separate installer for each version of the .NET framework, how is that any different from a Lazarus Qt app requiring a specific version of Qt, or a database app requiring a specific version of Sqlite, etc?

Some of the most often asked questions here involve the location of specific libraries and how to install them and link to them, particularly on Linux and OS X. At least with .NET, Microsoft makes it easy to install and compile against the .NET framework.

For example, it only takes one line of code in an InnoSetup script to detect the presence of the required version of .NET. And only a few more lines of code to either run the redistributable .NET installer (if you've included it with your installer) or to go to Microsoft's Web site if you think your users can download it themselves.

.NET language features that I really like include the ability to mix assemblies written in different languages (VB.NET, C#, Delphi Prism), and partial classes. Partial classes are similar to categories in Objective C (note that categories are now supported by FPC 2.5.1 with the {$MODESWITCH ObjectiveC1} on OS X and iOS).

.NET is a good choice for new Windows-only apps that target Windows Vista and Windows 7. In the future it will also be the tool of choice for Windows Phone development.

The original question related to using MonoDevelop here, or something. That's the part I don't understand. MonoDevelop does have a form designer, but it's for GTK#, not LCL.

Thanks.

-Phil

JD

  • Hero Member
  • *****
  • Posts: 1758
Re: Will monodevelop case impact to attracting new user?
« Reply #9 on: July 07, 2010, 05:35:09 pm »
Quote
For example, it only takes one line of code in an InnoSetup script to detect the presence of the required version of .NET. And only a few more lines of code to either run the redistributable .NET installer (if you've included it with your installer) or to go to Microsoft's Web site if you think your users can download it themselves.

Would you mind sharing these lines of code with me?   :)
I use InnoSetup myself so that will be useful to have.

Quote
The original question related to using MonoDevelop here, or something. That's the part I don't understand. MonoDevelop does have a form designer, but it's for GTK#, not LCL.

That's right and thus Windows applications written using MonoDevelop have the GTK# look. I personally don't like the GTK# look on Windows. LCL is far better.

Like you, I'm watching the evolution of Delphi Prism. I'm hoping it'll revive corporate interest in Pascal as a serious development language.
« Last Edit: July 07, 2010, 05:54:47 pm by JD »
Windows (10, 7) - Lazarus 2.0RC3/FPC 3.2, NewPascal, Delphi

Indy 10.6 series; mORMot; Zeos 7.2.1; SQLite, Firebird, PostgreSQL & MariaDB; VirtualTreeView 5.5.3 R1

Phil

  • Hero Member
  • *****
  • Posts: 2750
Re: Will monodevelop case impact to attracting new user?
« Reply #10 on: July 07, 2010, 07:01:51 pm »

Would you mind sharing these lines of code with me?   :)
I use InnoSetup myself so that will be useful to have.

Here's an open source example:

http://svn.mapwindow.org/svnroot/InstallationProjects/4.8/MapWindow%20Application%20x86/

Look at MapWindowx86.iss

Like you, I'm watching the evolution of Delphi Prism. I'm hoping it'll revive corporate interest in Pascal as a serious development language.

I doubt if that will happen. Have you ever met a .NET programmer who has even heard of Prism?

Thanks.

-Phil

JD

  • Hero Member
  • *****
  • Posts: 1758
Windows (10, 7) - Lazarus 2.0RC3/FPC 3.2, NewPascal, Delphi

Indy 10.6 series; mORMot; Zeos 7.2.1; SQLite, Firebird, PostgreSQL & MariaDB; VirtualTreeView 5.5.3 R1

Phil

  • Hero Member
  • *****
  • Posts: 2750
Re: Will monodevelop case impact to attracting new user?
« Reply #12 on: July 07, 2010, 07:45:45 pm »

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3541
Re: Will monodevelop case impact to attracting new user?
« Reply #13 on: July 07, 2010, 07:57:08 pm »
.NET is a good choice for new Windows-only apps that target Windows Vista and Windows 7.

IMHO Lazarus is a much better solution to target any Windows version.

Quote
In the future it will also be the tool of choice for Windows Phone development.

For all the 3 phones using it =) Seriously, the largest seller of Windows Mobile phones, HTC, is moving to Android, just like all other companies that use Windows Mobile too. People aren't much interrested in rewriting their Windows Mobile code to .NET. Restricting development on the Phones to .NET will just remove Microsoft from this market. And they will get what they deserve for such an unethical move.

Troodon

  • Sr. Member
  • ****
  • Posts: 484
Re: Will monodevelop case impact to attracting new user?
« Reply #14 on: July 07, 2010, 08:08:49 pm »
ike you, I'm watching the evolution of Delphi Prism. I'm hoping it'll revive corporate interest in Pascal as a serious development language.

IMO Oxygene (the Delphi Prism language) is only remotely related to Object Pascal, mostly because the .Net framework is a different paradigm when compared to the Windows API. More exactly: Oxygene is not Pascal. But the main hurdle to Delphi Prism adoption, just like for Delphi itself, is the lack of a free version and documentation. The Embarcadero folks argued that, while M$ can afford to make VS Express available for free, they can not. Try finding documentation on the Web for Delphi 2007 for .Net -- there isn't any. Delphi Prism will always be one step behind Visual Studio for C#.
« Last Edit: July 07, 2010, 08:10:39 pm by Troodon »
Lazarus/FPC on Linux