Ubuntu QA:
BlogBrainstormPackage status
Log in
Ubuntu QA
The Ubuntu community has contributed 15664 ideas, 77393 comments, 1416168 votes

Idea #13974: Linux development for human beings



up
63
down
Written by vexorian the 2 Oct 08 at 14:25. Category: Programming.
Related to: Nothing/Others. Status: New
Description
I am sure you will mark this as duplicate, either way, I think that there are small differences between this idea and similar ones.

First of all, I heard Canonical plans to invest in mainstream, let me say something, mainstream doesn't really need a lot more money than it has now and more work there would just be redundant. I think that if Canonical wants to make a difference, they should put money where it is really needed, there are weaknesses in our Linux OSes.

I think, we need improvements in the development platform, I am the kind of guy that really only needs geany and valgrind to do all his Linux development, however a lot of dev. people have been spoiled by the other parties. There are things like step-back and form designers that these people need. Novell as of now is pushing for Mono to replace native apps, and it is doing it by adding this sort of tools to mono development. I got to say, it would be terrible if developers stopped making native apps and we ended with a half-done OS in which most of the available applications are non-native, we need better tools for native development.

However, please don't focus on doing a monolythical app that does everything and can't be split, instead it would be better to make services that could be used by any IDE that's interested in using them. One part that has issues right now is debugging, in which the command line tools are powerful, but devs from this time are used to GUIs in the debugging world.

So, it would be nice to have some sort of service that could examine a program's execution at the same time it is communicating with an IDE that is using it. So the IDE can use information about the execution flow, contents of arrays, etc, and also the IDE would be able to use break points and step using this server program.

In the form designer area, an open format for GTK form XML files, that are then compiled by an extra app would be nice, well, I am not sure how good Anjuta is on this area so far, still improvements in form design will always be welcome.

Now here is the important section: We need a way to have programming projects compiled directly into .deb packages. Right now there are too many intermediary stages. The best for ubuntu would be to allow making ubuntu deb packages very easily, remember, the easier it is to make these packages the more applications easy to install in ubuntu there will be.

In short, an ubuntu-specific SDK is a good idea, should provide help debugging, making GTK forms, and managing dependencies and making packages. Also, the parts need to be either replaceable or services that could be used by any IDE that wishes to. So we could keep having plenty of IDE choices, etc. The dream is to be able to take a form designer, code stuff in some C++ IDE, compile the form and programs, debug it with step back and break points and then do a menu command that will immediately make a working .deb package for that project.

Tags: (none)

Attachments
No attachments.


Duplicates


Comments
Craig73 wrote on the 3 Oct 08 at 00:18
You touch on a fair number of areas, many of which have solutions being produced by various groups. I think it will be marked as duplicate as while it has many ideas, it does have to be rolled into a central idea, such as development tools. I would look up some of those duplicate tickets and expand on your ideas there... to try and concentrate the creativity into one spot.

[btw, I consider Mono as native, much as Java is native... so without dissecting technologies it is a solution to get Linux apps]

boteeka wrote on the 9 Oct 08 at 13:40
You mention ideas here which have been haunting me for a while - and probably others too, because there are a few ideas people on Brainstorm try to explain what you just explained in a very clear way.

You also make a very good point here: option to compile directly into a deb (or rpm, or whatever package management is used by a specific distribution) package.

This single point is worth an idea entry of its own. This is a _very_ important thing!

It is nice to have your sources wrapped up in a tar.gz package, but a simple mortal user cannot start anything with it. Especially taking in consideration users coming from other platforms where they were used to get software as an installer (setup.exe) file (on Windows) or as a single "application" file (Mac OS X).

I don't mean to replace tar.gz's, I mean to create an easily usable system which creates distribution specific installable files such as deb files are.

All this wrapped up in a single interface: code the program -> debug the program -> compile the program -> package the program. A single application for all these tasks.

A really easily usable IDE would not take away value/power from the ability to use the command line tools, instead it would add new value for people who used to work in such GUI environments.

It's a shame that my main language isn't English and I can't explain better my thoughts, but maybe you get the points.

Auzy wrote on the 10 Oct 08 at 06:29
You know I agree with development platform improvements. Cause at the moment development on ubuntu compared to other platforms is amusing.

xfuser4 wrote on the 24 Oct 08 at 19:51
I fully agree with you.

Developing an end-user application under Linux is horrible. It just makes no fun. GTK+ and GObject using C or C++ are monsters in comparision to Cocoa and Objective-C. Vala is the first nice attempt to make things better, but it is still less dynamic and less clear then Objective-C.

At least there is no development environment that really rocks like XCode. But this is truly important: the easy and rapid development of applications is somehow crucial to get more developers fascinated of Linux.

One first point would be a smoother integration between the IDE and the GUI builder. Esp. a visual abstraction of the MVC pattern (have a look how it is done here http://www.youtube.com/watch?v=j02b8Fuz73A - just drawing lines between objects and GUI widgets).

AndrewLuecke wrote on the 25 Oct 08 at 00:09
@xfuser try QT which is closer (and should integrate somewhat with eclipse).. In fact, I found the GUI design tool for QT better then Interface builder in OSX.

But I know. I've used Xcode in the past, and now it even has a gui dtrace utility which is wicked. Linux is a usability nightmare in comparison.



Post your comment