Home » Community » Coffee corner » What next?
Re: What next? [message #45658 is a reply to message #45652] |
Sat, 19 December 2015 14:40 |
cbpporter
Messages: 1401 Registered: September 2007
|
Ultimate Contributor |
|
|
I saw this thread when it was created, but it took me a few days to gather my thoughts on the subject. Doubly so, since I'm almost in the same boat, but probably where U++ was 10+ years ago: I too am developing a solution for some perceived problems taking the form of a library (no GUI though), an endeavor mostly fueled by dissatisfaction with current popular solutions. I am still in the development phase, but I'm dreading the day I will actually have to promote the project.
Because promotion is very hard, especially in this domain. Really really hard. So much harder than writing code , which is easy and fun and has deterministic outcome. And especially now, when C++ is no longer as common as it used to be. Everybody is using JS now and we can't even hire competent new people at my workplace. The "if you build it, they will come" approach does not work. Consistently outputting a quality product does not attract people. It may be great at retaining people, but the first exposure most come from somewhere else.
U++ is a great tool with great productivity and generally a good design, but is is also often weird, quirky and some parts of it are downright alien. If you ask me, U++ is equally well designed and well designed to drive off random enthusiasts who just heard of the project and want to give it a quick try. The barrier of entry is too high.
I think that this is mostly due to TheIDE and a lack of structure that puts some of the best parts of U++ to the forefront.
U++ has great value as a GUI framework. But GUI work is relatively rare in this day and age. But it also has huge amounts of value outside of GUI. I love CodeEditor as an example, because it saved me from ritting thousand of lines of code, but you won't attract new people with CodeEditor or ArrayCtrl. You'll do it with Core at first on the non GUI side and with simple GUI samples that show of accessibility. GUI can be complicated and downright threatening looking in some toolkits, but creating a TopWindow (which should be called Window anyway) and plopping down a few Buttons can be inviting.
But I still think Core needs special attention. Core is super valuable but quite inaccessible.
Here is an example: I don't think that there is a seasoned C++ developer out there who really loves std::vector. Most people that I know hate it and iterators with pointer syntax in general. U++ has Vector, which is a lot more pleasant to use and potentially faster. I do not understand why after so many years, a random person can't just pick a random C++ source file, add a #include <upp/Vector> or something, and happily go on and use Vector. No mess, no fuss, no dependencies, no pulling in full packages, no random allocator, no almost proprietary IDEs. Or String. Or VectorMap. People do need hash maps all the time. std::map is so lacking. Or CParser. CParser is pure gold! I don't like pointless hyperbole, but CParser did change a small part of my life for the better! It is ridiculously convenient to have this power in a few lines of code without having to use some lexer lib and grammar. In a language notorious for having zero parsing ability without blowing up some pointers and barely being able to convert an int to a string. Or Socket. Very useful!
The contents of U++ should be filtered and a "core core" should be made very accessible. Not everything that is in the packages though. Just the super useful high quality stuff. Color is nice and I guess it does the job, but it is not a selling point. My Color lib is 40k code of code without conversion functions and I still find it lacking, so a simple Color class is not an attraction like the containers, serialization, Xml support, Unicode and so on.
Now I'm not saying that we no longer use packages or TheIDE. I'm saying the message for new initiates should be "U++ Core is awesome because these classes are great. You can use TheIDE for a modular approach at developing programs, but first let me show you how awesome Vector is using the Linux command line/CMake/Visual Studio. You'll love it and never touch std::vector again! And BTW, Vector is compatible with std, so you can still mix it with other code!".
Neither am I saying we break up Core into 2 separately maintained code bases. There is probably a way to reorganize sources so that stand alone classes can be included with standard C++ paradigms (some thought must be put into how to break up libs for non templates, probably the boost model) one by one and still have Core.h which resides in a U++ package and provides the entire functionality.
[Updated on: Sat, 19 December 2015 14:42] Report message to a moderator
|
|
|
|
|
What next?
By: mirek on Thu, 17 December 2015 15:54
|
|
|
Re: What next?
By: Tom1 on Thu, 17 December 2015 17:25
|
|
|
Re: What next?
By: Klugier on Thu, 17 December 2015 18:16
|
|
|
Re: What next?
By: mirek on Thu, 17 December 2015 19:07
|
|
|
Re: What next?
|
|
|
Re: What next?
By: mirek on Sun, 20 December 2015 10:46
|
|
|
Re: What next?
|
|
|
Re: What next?
By: mr_ped on Sun, 20 December 2015 21:29
|
|
|
Re: What next?
|
|
|
Re: What next?
By: mirek on Mon, 21 December 2015 20:55
|
|
|
Re: What next?
By: mr_ped on Thu, 17 December 2015 17:56
|
|
|
Re: What next?
By: mirek on Thu, 17 December 2015 18:16
|
|
|
Re: What next?
By: mirek on Thu, 17 December 2015 18:53
|
|
|
Re: What next?
By: mr_ped on Fri, 18 December 2015 09:49
|
|
|
Re: What next?
|
|
|
Re: What next?
By: Novo on Fri, 18 December 2015 04:53
|
|
|
Re: What next?
By: mirek on Fri, 18 December 2015 11:01
|
|
|
Re: What next?
By: Novo on Fri, 18 December 2015 05:19
|
|
|
Re: What next?
By: mirek on Fri, 18 December 2015 10:59
|
|
|
Re: What next?
By: Novo on Sat, 19 December 2015 04:37
|
|
|
Re: What next?
|
|
|
Re: What next?
By: deep on Sat, 19 December 2015 14:23
|
|
|
Re: What next?
By: Sgifan on Sun, 20 December 2015 00:31
|
|
|
Re: What next?
|
|
|
Re: What next?
By: mirek on Sun, 20 December 2015 10:59
|
|
|
Re: What next?
By: Sgifan on Mon, 21 December 2015 23:31
|
|
|
Re: What next?
By: Sgifan on Mon, 21 December 2015 23:35
|
|
|
Re: What next?
|
|
|
Re: What next?
By: Sgifan on Mon, 21 December 2015 23:50
|
|
|
Re: What next?
|
|
|
Re: What next?
By: Sgifan on Tue, 22 December 2015 23:46
|
|
|
Re: What next?
By: koldo on Wed, 23 December 2015 07:30
|
|
|
Re: What next?
By: Sgifan on Wed, 23 December 2015 15:10
|
|
|
Re: What next?
By: mirek on Fri, 01 January 2016 11:31
|
|
|
Re: What next?
By: mdelfede on Sun, 21 February 2016 17:21
|
|
|
Re: What next?
|
|
|
Re: What next?
|
|
|
Re: What next?
By: koldo on Tue, 17 May 2016 09:11
|
|
|
Re: What next?
By: mirek on Thu, 19 May 2016 11:14
|
|
|
Re: What next?
By: omari on Thu, 19 May 2016 17:17
|
|
|
Re: What next?
By: koldo on Thu, 19 May 2016 17:20
|
|
|
Re: What next?
|
|
|
Re: What next?
By: koldo on Fri, 20 May 2016 08:34
|
|
|
Re: What next?
By: mirek on Sat, 21 May 2016 19:57
|
|
|
Re: What next?
|
|
|
Re: What next?
By: koldo on Wed, 01 June 2016 16:28
|
|
|
Re: What next?
By: mirek on Thu, 02 June 2016 11:32
|
|
|
Re: What next?
By: koldo on Fri, 03 June 2016 08:32
|
|
|
Re: What next?
|
|
|
Re: What next?
|
|
|
Re: What next?
|
Goto Forum:
Current Time: Sat May 11 18:27:31 CEST 2024
Total time taken to generate the page: 0.03024 seconds
|