Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

Windows GUI apps: Rebol/SDK vs. Visual C++ 2003

 [1/16] from: jjmmes::yahoo::es at: 24-Jan-2003 13:59


Hi, I am considering writing some Windows GUI apps for profit and would like to get input from you on which platform is best for the job. My initial comparison is based on 1.- ease of development 2.- licensing and components 3.- reliability and performance 1.- I am a mostly scripting developer who has recently started learning C++ . To my astonishment, I found that for Core tasks, C++ & STL is not really that difficult but my interest is in the GUI side so I should really be comparing Visual C++ (which I haven't used before) to View and the SDK. This is where your input would be great ! I have not signed up for the SDK (although was thinking about it a lot) so I do not have all the info to be fair to Rebol/SDK. For the other 2 comparisons I find that the new Visual C++ beats Rebol/View and the SDK. A summary of my reasoning is included below. 2.- C++ compiler sells for $109 vs SDK for $249 (I think I won't need to be part of MSDN because there is plenty of info available in the web). The most important point is that there are no strings attached to C++ apps that I build vs Rebol cumbersome licensing ($500 + 10% of sales above $5000) Components: the 2003 C++ includes a forms designer with all the std widgets (trees, ..). Although you could have something like this in Rebol/SDK, I haven't seen it ! I assume using the components is more work in C++ but at least the basic ones are available and with no licensing. Third party components: I like Rebol's PDF/Maker but licensing and future development are not clear. Really don't like having to pay for third party quality components but there is very little Windows quality stuff in the public domain and GNU doesn't cut it (because you can not sell a traditional product with it). 3.- Based on my experience, I tend to build more quality code when it's compiled (vs interpreted) and the performance is normally better (when compiled) although I do not think this is a big issue on today's client machines. I see many of you are focusing on Rebol Windows GUI apps (James Marsden's IDE, 3flex, Ashley's apps, RFM, ..) and would like to understand what is the best choice and why did you choose Rebol/SDK (especially in for profit projects). Thanks and regards, Jose ___________________________________________________ Yahoo! Móviles Personaliza tu móvil con tu logo y melodía favorito en http://moviles.yahoo.es

 [2/16] from: petr:krenzelok:trz:cz at: 24-Jan-2003 14:50


Hi Jose, as for me, my reasons are clear enough: pros: 1) I am not fluent with C++ 2) We used here Visual Objects from Computer Associates. It has really strong object orientation, but to be fluent with the language, you really need to understand its component inheritance mechanism etc. If you switch to Delphi for e.g., you learn different model etc etc. 3) With View you learn once and it is cross-platform (although cros-platformity of rebol is shrinking with latest releases) ... 4) View is cool engine to work with - VID is so cool - you are free from all that overbloated complex crap ... 5) New styles you miss can be produced, I think we are not all that far away ... tree-view, tab-view, menu, context-menu ... all done, although not released ... what you could miss especially with data app is more advanced grid style, but I am sure it can be done. As for IDE, contact Ammon to give you some info about RIDE, - I am not part of his beta group so I don't know anything concrete ... cons: 1) as you mentioned, it can be lack of buy-once, distribute anywhere. I will sign with RT, as I don't want to touch anything different than Rebol, but for some ppl it can be a stopper 2) lack of some View capabilities: - direct printing - more than one text style per face (color-text) - proper keyboard handler - antialiased fonts - Unicode 3) View + Core - lack of speed in some specific task - not suitable for number crunching, fast gfx effects, - forget multimedia with rebol .... you can help yourself with external libraries, but you will be responsible to port it to other platforms of your usage ... All we know is - RT wants to adress those issues, but we don't know the priority list though, nor do we know the capabilities they want to add/change in rebol kernels. So, you have to decide also upon what kind of apps you want to develop - general gui apps are OK, any kind of specific multimedia-related app is not currently possible .... -pekr-

 [3/16] from: greggirwin:mindspring at: 24-Jan-2003 12:41


Hi Jose, j> I am considering writing some Windows GUI apps for j> profit and would like to get input from you on which j> platform is best for the job. The best tool for the job will depend on the product you're developing, its target market, and other factors; e.g. what features you need, are existing third party tools available (or needed), do you want or need to be cross platform, if working with other developers, what skill-set do they have, etc. I moved to REBOL from VB, so that's where I'm coming from. j> 1.- I am a mostly scripting developer who has recently j> started learning C++ . To my astonishment, I found j> that for Core tasks, C++ & STL is not really that j> difficult but my interest is in the GUI side so I j> should really be comparing Visual C++ (which I haven't j> used before) to View and the SDK. You need to look at what it will take to build the app you want. BASIC is easy to grasp. VB was easy for me because I did it for 11 years, but people new to VB found some things very hard. Windows development, in general, has added so much complexity that the core language you use is only a small part of things now (in some cases). Whether your ease with the kernel of C++ will translate into a larger context, I can't say for you. If you're doing Windows, have you also considered C#? Don't forget little things like deployment either. What will it take to build an installer, how sensitive is it to different versions of Windows or your target OS, etc.? j> 2.- C++ compiler sells for $109 vs SDK for $249 (I j> think I won't need to be part of MSDN because there is j> plenty of info available in the web). If you're selling a commercial product, the small difference in up-front costs shouldn't be much of an issue. If it is, use the free versions of REBOL to build your app and test the waters (i.e. controlled demos so you aren't giving away source). If you go to Visual C++, you may find that your first add-on tool costs more than either of them. j> The most important point is that there are no strings j> attached to C++ apps that I build vs Rebol cumbersome j> licensing ($500 + 10% of sales above $5000) This is a mind-set issue. I've had it too. RT is very easy to work with (IMO) so, if you write a wildly successful application, you could always talk with them about a custom licensing arrangement. If the app is so popular, and you can't work something out with them, you could always rewrite it in C++. You have to decide if it's going to be a show-stopper for you. It isn't for me. j> Components: the 2003 C++ includes a forms designer j> with all the std widgets (trees, ..). Although you j> could have something like this in Rebol/SDK, I haven't j> seen it ! I assume using the components is more work j> in C++ but at least the basic ones are available and j> with no licensing. No forms designer in the SDK, sorry. Coming from VB, I should be screaming for this kind of thing, but I'm not. :) REBOL does things differently, to be sure, and there are things I've done in VB I would have a hard time doing with VID. OTOH, there are things I've done with VID that would have been a *lot* more work with VB. VID doesn't work exactly like native Windows stuff, so there's that to consider. It's cross plaform though which, if you try to do that with C++, will probably be a lot more effort. j> Third party components: I like Rebol's PDF/Maker but j> licensing and future development are not clear. Really j> don't like having to pay for third party quality j> components but there is very little Windows quality j> stuff in the public domain and GNU doesn't cut it j> (because you can not sell a traditional product with j> it). Yes, with ActiveX tools, you'll pay for all of them pretty much. Again, it depends on your needs. If you need PDF output, how would you do it from C++? The REBOL community is small enough (right now), that you can contact and negotiate with the authors of these tools. Yes, that's more work, but it's doable. It's just a different world. j> 3.- Based on my experience, I tend to build more j> quality code when it's compiled (vs interpreted) and j> the performance is normally better (when compiled) j> although I do not think this is a big issue on today's j> client machines. Once again, how much performance do you need and, as for quality, that's entirely up to you. My development style is completely different in REBOL than VB, and is evolving daily. Reliability also doesn't stop with you. Your app is only as reliable as the weakest link in the chain of tools used to build it. Ultimately, you need to analyze your needs for each particular project and match them to the tools you have available. Best of luck! -- Gregg

 [4/16] from: tim:johnsons-web at: 24-Jan-2003 11:32


* Gregg Irwin <[greggirwin--mindspring--com]> [030124 10:59]:
> Hi Jose, > > j> I am considering writing some Windows GUI apps for > j> profit and would like to get input from you on which > j> platform is best for the job. >
Let me add my perspective to Gregg's with a couple of twists: I came from the windows environment with a little *VBA* (as opposed to VB) and a lot of Borland C++. My last work in a strictly Microsoft environment was with C++ Builder, which is at least as proprietory as Visual C++, IMHO. I do primarily web programming these days with rebol, but we do have some desktop gui requirements, and my partner whose name is Greg (with 1 'g') is primarily a perl programmer. It is our policy to avoid windows-specific programming. We charge a premium for anything windows specific. Example: rebol,perl,python and Tcl/Tk all offer gui solutions that are easily cross-platform. Perl and python have similar interfaces to the Tk environment. This approach allows me to build and test in the linux environment, test and deploy in the windows environment on the same machine at the same time - no rebooting or switching computers. I recently rebuilt one of my major services (winemarketjournal.com) I transitioned from C++ with compiled-in database services to rebol using Mysql via a TCP/IP connection. You might expect the earlier approach (given C++ performance edge and the compiled DB modules) to be faster. The answer is no. The rebol to mysql connection is faster, because I'm using rebol to drive the Mysql monitor via DocKimbel's mysqlprotocol. Maintenance and turnaround is faster and easier too. Really a marriage made in heaven! Now, if a client request a desktop/gui service, and if it were a small one, I'd just do it in python using TkInter (the python interface to TK, and perl has a similar on) However, if it looked as if we would be doing a *lot* of windows-based (or *nix-based) GUI programming, we would probably build a "GUI monitor", using Python or Perl or TCL and "drive" it via tcp/ip in a similar approach to Mysqlprotocol I mentioned above. In my case, I have to accomodate a valued partner and gifted programmer that loves perl. That would be our workaround. Given the it is implementable, which I'm sure it is... -- Tim Johnson <[tim--johnsons-web--com]> http://www.alaska-internet-solutions.com http://www.johnsons-web.com

 [5/16] from: jjmmes:yah:oo:es at: 24-Jan-2003 22:21


Petr, Gregg, Tim, thanks for your input. Here is some more info to understand my POV. First, let me say I like everything REBOL but I am looking at this from a combined business + technical focus. Also I've spent about 1 year developing in Rebol and suddenly dig into C++ and like it a lot. Actually, REBOL has been a great training language to help me look into C++ with a broad set of requirements. I think it's hard to have an opinion on something that you don't know much about it. This was the case I had with C++, seen lots of criticism, complex, etc... but once I started looking into it I liked it even more than any scripting language, and found it's the current language to beat for any serious app, either client or server. My requirements are: MUST HAVE: Client requirements =================== * Basic GUI, gfx and networking * Platform that allows me to evolve the technology in any direction required - this is key if you want to be in the business long term * Good licensing terms and low cost of development * Some critical mass of developers * Compliance to broadly accepted standards * Solid intellectual framework Server requirements =================== Everything built with GNU C++ and Linux (no doubts about this !) NICE TO HAVE: * Cross-platform, eventually a must have I started looking at the nice to have first and found some C++ cross-platform GUI libraries (wxWindows and ezWindows) but was not strongly compelled to use them. This is clearly the requirement that would drive me to REBOL/SDK, but right now this is a nice to have requirement. I first want to clarify that I do not mean any of this as a criticism to REBOL, which I really like, but stating this beforehand will help me be real candid about the situation I face (I would summarize the situation I face as: entrepreneur trying to make a technical choice to build a business long term, not necessarily a sw business). * Basic GUI, gfx and networking =============================== Here I am looking at a language that lets me do anything I want, it's well documented and powerful. I think lots of languages have this nowadays ! More than anything I want a tool that I am not stuck with and that eventually I can code what I want if it's very expensive to buy or is not available. I think my whole point of view about languages changed when I read one Stepanov's interview in the web (C++ STL library inventor, or one of the inventors). He talks about STL and mentions MOP languages (Money Oriented Languages) and what limitations those lenguages entail. Well, you can think of well known MOP languages: Java, VB, C#, .. and although I am trying to make a money-oriented decision for a technical business, I am certainly driven away from any of those languages. Platform that allows me to evolve the technology in any ======================================================= direction required ================== No MOP language allows you to evolve the technology beyond the basic stuff because it's not good for the owners of the language. C++ complies to an ISO standard for the most basic stuff but everything else is open to lots of people who are building all types of serious libraries. When I first run into rebol i thought command (with library access) would let me evolve into anything i wanted and keep rebol as the glue. Once I found how unimportant that was to rebol i was compelled to look into c and c++. Are you interested in a particular subject, e.g. finite-state machines, google and you'll find serious c++ libraries for it. Math requirements, the same ... Good licensing terms and low cost of development ================================================ I really want simplicity, ease of use, low cost of development, .. bla, bla.. but in the end only NM languages (non MOP) can really get there because with MOP you will be stuck with all types of business problems or decisions that hamper what you can do. Not sure whether Rebol is MOP or non MOP ! Some critical mass of developers ================================ Rebol's community is the best there is, or the best I found, but would like to hear from people that are really facing the situation I do. Again, rebol might be the best from an academic or IT standpoint but I am only looking at it from a "for profit" sw developer standpoint. Compliance to broadly accepted standards ======================================== You might argue that if something is really good who cares about standards, but standards are very powerful when they exist. How else can you explain M$ VC7 compiler suddenly being very compliant to C++ std when VC6 wasn't ! O'reilly: what's new in VC++ 7 http://www.ondotnet.com/pub/a/dotnet/2002/11/18/everettcpp.html There is no cross-platform gui standard, if there was, I would use it right away, but when you're trying to make money you have to be pragmatic on this. Why nobody has built a good cross platform library (maybe I am not aware) that lets you build a great looking app in Linux and run it in windows and not be able to distinguish it from a VC or VB app ? Maybe rebol will be that, maybe java, maybe stg else ! Solid intellectual framework ============================ I am an electrical engineer but have a biz background. Started developing 2 years ago, 10 years after graduating. I'm spending tons of time trying to understand what is best from a technical standpoint. After looking at any scripting language I heard of, I ran into rebol and fell in love. I feel the crush is gone now, specially after I read tons of research papers and look at modern c++ design books. I think it all depends what tool you need, you all said that. I summarize the requirements as 1) easy to use client apps and 2) scalable server apps. I've come to the conclusion that rebol is good as glue on the server side but not much else (except small easy to maintain websites -if you build the tools for it). On the client side, I am still quite confused, so thanks for your ideas and comments. Regards jose ___________________________________________________ Yahoo! Móviles Personaliza tu móvil con tu logo y melodía favorito en http://moviles.yahoo.es

 [6/16] from: greggirwin:mindspring at: 24-Jan-2003 16:34


Hi Jose, j> First, let me say I like everything REBOL but I am j> looking at this from a combined business + technical j> focus. Me too. Commercial applications are my target. Some in-house stuff for clients as well, to be sure. j> I think it's hard to have an opinion on something that j> you don't know much about it. This was the case I had j> with C++, seen lots of criticism, complex, etc... but j> once I started looking into it I liked it even more j> than any scripting language, and found it's the j> current language to beat for any serious app, either j> client or server. What you like is very important (at least to me). Different langugages resonate with different minds. I've only been developing software for about 14 years now, so I'm not a real old timer, but I've looked at a lot of langauges over that time. I try to match tools to needs. If I'm going to specialize (and I do), I pick a tool that will be as generally applicable as possible, and have a plan for how to augment it, or know when to direct people somewhere else. I've only been REBOLing for a year and a half now. Also, it's sometimes hard to delineate between what a "language" supports, and what toolkits are available for it, not that it often matters except for the sake of argument. When you say "low cost of development", do you mean the cost of the actual tools, the cost of your time in developing the products, or a combination of the two? Just something to think about. When VB came out, and for a good while after, when I'd propose it as a solution, people would say "But C is 15-200% faster than VB!"; I'd reply that VB was actually much *faster* than an equivalent C app - usually 6-12 months faster. :) j> Are you interested in a particular subject, e.g. j> finite-state machines, google and you'll find serious j> c++ libraries for it. Math requirements, the same ... Yes indeed (and FSMs are near and dear to my heart). For me, as good as REBOL is when compared to other languages directly (i.e. how we use other them today), that's just icing on the cake. The *real* cake for me is how REBOL allows me to think and how I'll build software with it when I really start to "get it". My FSM engine was one of the things that started to open my eyes a bit, but I won't bore everyone here with details; mail me directly and I'll just bore you. :) In any case, most languages aren't concerned with solving the problems that I want to see solved, but REBOL is. j> Not sure whether Rebol is MOP or non MOP ! It's a proprietary language at this time, as I think it should be. j> Rebol's community is the best there is, or the best I j> found, but would like to hear from people that are j> really facing the situation I do. Again, rebol might j> be the best from an academic or IT standpoint but I am j> only looking at it from a "for profit" sw developer j> standpoint. It's a small community, and nobody can say for sure where things will lead. I liken it to the VB community in '91-'92. Other languages have their own loyal following as well, but most languages aren't good for humans. I think BASIC (structured) and REBOL are both good languages for humans, which is why I like them. Hardly a formula for success though. :) I started writing commercial Windows apps in VB1. I'm far from an academic or IT guy, but mine is only one opinion. j> You might argue that if something is really good who j> cares about standards, but standards are very powerful j> when they exist. How else can you explain M$ VC7 j> compiler suddenly being very compliant to C++ std when j> VC6 wasn't ! How can you explain VB's success in that light? No standard there. :) The question is not whether VC7 is compliant, but whether it's better *because* it's compliant. j> Why nobody has built a good cross platform library j> (maybe I am not aware) that lets you build a great j> looking app in Linux and run it in windows and not be j> able to distinguish it from a VC or VB app ? 'cause it's darn hard! :) j> I've come to the conclusion that rebol is good as glue j> on the server side but not much else (except small j> easy to maintain websites -if you build the tools for j> it). My conclusion is *very* different than yours, but our needs are probably different as well. I have about a dozen C++ books on my shelf but only did very minor actual work with it, so I speak from a position of informed inexperience. :) My goal is not to influence you, of course, just to give you my view. -- Gregg

 [7/16] from: tim:johnsons-web at: 24-Jan-2003 14:00


Jose: Have you looked at the cygwin project? Have you looked at OOP approaches to C (as opposed to C++)? Do you know about Dynace?
> Actually, REBOL has been a great training language to > help me look into C++ with a broad set of > requirements.
Not enough as been discussed (IMHO and within earshot) about how to use rebol as a prototyping tool and for transformational programming. (Using rebol to write code for other, more verbose languages like C/C++) -tim- * jose <[jjmmes--yahoo--es]> [030124 12:36]:
> Petr, Gregg, Tim, thanks for your input. Here is some > more info to understand my POV.
<<quoted lines omitted: 138>>
> [rebol-request--rebol--com] with "unsubscribe" in the > subject, without the quotes.
-- Tim Johnson <[tim--johnsons-web--com]> http://www.alaska-internet-solutions.com http://www.johnsons-web.com

 [8/16] from: greggirwin:mindspring at: 24-Jan-2003 16:43


TJ> Not enough as been discussed (IMHO and within TJ> earshot) about how to use rebol as a prototyping TJ> tool and for transformational programming. TJ> (Using rebol to write code for other, more TJ> verbose languages like C/C++) DOH! Thanks for the whack on the side of the head Tim! When proposing VB in the days before it was an acceptable alternative, I would sometimes offer to build a prototype which could then be implemented in C by other people for production use. If the prototype worked well enough, there would be no need to convert it. -- Gregg

 [9/16] from: jjmmes:yah:oo:es at: 25-Jan-2003 1:21


--- Tim Johnson <[tim--johnsons-web--com]> escribió: > Jose:
> Have you looked at the cygwin project?
This is what their page says -> <quote> What Is Cygwin? Cygwin is a UNIX environment for Windows. </quote> I don't want UNIX for Windows. I want to build apps that are competitive vs other Windows apps build with Visual C++
> Have you looked at OOP approaches to C
I've got to the point where I see C as legacy and only very important to handle APIs to systems built in C. Just reading the first 2 chapters of Stroustrup C++ reference and you see things differently, or his paper Learning Standard C++ as a New Language
> (as opposed to C++)? > Do you know about Dynace?
<<quoted lines omitted: 8>>
> verbose languages like C/C++) > -tim-
Not sure it's worth it. I thought about building a C++ parser that translates a Rebol script into C++ , for performance but I don't think it's worth it. You code in C++ directly for performance and you use Rebol for prototyping. In GUIs I think differently, Rebol might do the job so why spend more time to do the same. ___________________________________________________ Yahoo! Móviles Personaliza tu móvil con tu logo y melodía favorito en http://moviles.yahoo.es

 [10/16] from: jjmmes:y:ahoo:es at: 25-Jan-2003 2:13


> What you like is very important (at least to me). > Different langugages
<<quoted lines omitted: 11>>
> I've only been > REBOLing for a year and a half now.
What you like determines the motivation you have and without great motivation is impossible to do great things. You certainly have more experience than I do. I like to also pick tools and match them to the needs. Rebol matches the following needs (for me): 1) glue code 2) prototyping. Imposible to do anything where performance matters. 3) potentially a great GUI tool
> When you say "low cost of development", do you mean > the cost of the > actual tools, the cost of your time in developing > the products, or a > combination of the two? Just something to think > about.
Both, but above all is the gut feeling that you're picking the right tool or that has momentum (marketing people say "that it has momentum" to imply it's not a dead end). Unfortunately there are many "great" technical things that are dead ends -> Betamax
> When VB came > out, and for a good while after, when I'd propose it
<<quoted lines omitted: 4>>
> - usually 6-12 > months faster. :)
In most cases time to market is more important than actual performance. Most client apps have enough performance. I think the case for C++ is more recent. I really see C and C++ as very different (although most people don't because C++ is a superset of C). Any serious/complex (in terms of functionality) Windows app is written in C++. C++ is a lot more than OO. There are many new concepts: STL, Generic Programming, Design Patterns, Generic Patterns to build reusable libraries, ... Do not want to critizice but haven't found any new concept in Rebol that didn't exist in OO or functional languages . Better implementation of the concepts, definetely yes, that is the innovation, and many times this type of process innovation can make a company really successful On the GUI side there might be lots of innovation but I don't know ! I first read Carl's statement that OO wasn't it, and messaging/dialects was a better paradigm, but really, now, I think that you can use a tool like OO pccts, http://www.antlr.org, and build any parser (for any grammar) you want and for serious parsing I wouldn't bet on Rebol's parse BNF. There is a lot more than that and if you want to find a solution to an important problem you have to dig deeper. Rebol does have the simplicity that comes from scripting and the elegant syntax ..
> j> Are you interested in a particular subject, e.g. > j> finite-state machines, google and you'll find
<<quoted lines omitted: 12>>
> problems that I want > to see solved, but REBOL is.
You can think using a piece of paper. The language is implementation. You're one of the top guys here so it doesn't sound good to hear "when I really start to get it". I don't believe that, the more you "talk" in a language the better you communicate but you rarely do great things suddenly because you use that language vs other .. This has some analogies with writers and their masterpieces .. Every language has its ++ and -- but there is no silver bullet. I'll mail you separately on FSM. The problem that Rebol solves is being glue (that is if you have command). A better bash ! On the GUI side it could be a lot more ..
> j> Not sure whether Rebol is MOP or non MOP ! > > It's a proprietary language at this time, as I think > it should be.
Don't care about this. It's all about making the right choices for the job you have to handle.
> How can you explain VB's success in that light? No > standard there. :)
I can explain: VB success is mostly a result of good marketing judgement and maybe some good technical decisions, but certainly a lot of business strategy .. De facto standards, like TCP/IP or VB are most important but C++ is the rare case where a committee std is important, relevant .. and companies like MS can not write the rules completely ...
> The question is not whether VC7 is compliant, but > whether it's better > *because* it's compliant.
Lippmann, the MS VC++ architect explains this in an interview. In a nutshell, it's better because there are a ton of libraries conforming to the std that you can use and you couldn't before Good brainstorm ! ___________________________________________________ Yahoo! Móviles Personaliza tu móvil con tu logo y melodía favorito en http://moviles.yahoo.es

 [11/16] from: sunandadh:aol at: 24-Jan-2003 20:54


Jose:
> This was the case I had > with C++, seen lots of criticism, complex, etc... but > once I started looking into it I liked it even more > than any scripting language, and found it's the > current language to beat for any serious app, either > client or server.
If we are not careful this could slide into the equivalent of "what's the best ball for any serious sport?" type discussions that can bedevil computer language comparisons. Just as a golfer and a hockey player will disagree about size by an order of magnitude, and a soccer player and an America football player can't even agree on a shape, so too are doomed many such discussions. For example, for you want specifically to write: -- Windows GUI applications for profit -- in which performance isn't an issue ("Most client apps have enough performance") -- cross-platform is only an "eventual must have". For me, cross platform has got to be there from Day 1, and some of my apps are running on some very unlikely legacy machines so cross-platform language performance is an issue for me. And again, for you a server must have "Everything built with GNU C++ and Linux". It's important for me to work with whatever my clients have on their servers. Our starting points are so different that explaining my choices of languages and platforms wouldn't shed much light on the languages and platforms you need. Be happy with your choices; I'm happy with mine. Sunanda.

 [12/16] from: atruter:labyrinth:au at: 25-Jan-2003 13:06


Use whatever tools you enjoy using. Coding should be an enjoyable experience not a chore! Me, I just prefer the declarative approach to GUI construction. Oh, and the small fact that I am 2-6 times more productive with it than my previous languages of choice, Delphi (for Windows GUI stuff) and PERL (for UNIX- based work). The fact that REBOL-based backup, accounts, database, freight systems are an integral part of my business is testament to its ability to do the job and do it quickly. I try to remember that: 1) Time and cost are paramount. The customer wants the cheapest product that will do the job, and they want it now. 2) Language / Cross-platform are developer issues. The customer wants a product that runs on their platform, if it meets 1) above they don't care what tools you used to create it! 3) Happy coders are good coders. Regards, Ashley

 [13/16] from: tim:johnsons-web at: 24-Jan-2003 18:02


* jose <[jjmmes--yahoo--es]> [030124 15:49]:
> I've got to the point where I see C as legacy and only > very important to handle APIs to systems built in C. > > Just reading the first 2 chapters of Stroustrup C++ > reference and you see things differently, or his paper > "Learning Standard C++ as a New Language"
C++ is touted as for large projects - but there must be a reason that so much of the Linux Kernel is built in C. Could it be CVS? Watch those headers files :-) they'll kill your development curve.
> > (as opposed to C++)? > > Do you know about Dynace?
<<quoted lines omitted: 15>>
> in C++ directly for performance and you use Rebol for > prototyping.
From what I've seen of some of the more advanced rebol programming, the reverse might be the answer: Use rebol to build C++ code - just a thought - and you might want to research what is being done in scheme,lisp and bigloo ----
> In GUIs I think differently, Rebol might do the job so > why spend more time to do the same.
<<quoted lines omitted: 6>>
> [rebol-request--rebol--com] with "unsubscribe" in the > subject, without the quotes.
-- Tim Johnson <[tim--johnsons-web--com]> http://www.alaska-internet-solutions.com http://www.johnsons-web.com

 [14/16] from: greggirwin:mindspring at: 25-Jan-2003 17:11


Hi Jose, (This ended up getting rather long-winded. My apologies. -G) j> Imposible to do anything where performance matters. I'd disagree with the use of "impossible" and "anything". Yes, there are certainly things where REBOL is not up to the task, performance-wise, but there are plenty of tasks where it is more than up to the task as well. I know that my LCS implementation for creating DIFFs is *hideously* slow in REBOL but I think that's the only thing I have (non-graphics wise) that really sucks performance wise. j> Any serious/complex (in terms of functionality) Windows app is written in C++. You have to know that this statement is highly contestable. :) j> C++ is a lot more than OO. There are many new concepts: STL, Generic j> Programming, Design Patterns, Generic Patterns to build reusable libraries, ... Yes, but those concepts don't apply only to C++. Large parts of the what the STL covers are already included in REBOL and other lanaguages. C++ and REBOL are just very different languages, with very different goals. j> Do not want to critizice but haven't found any new concept in Rebol that didn't j> exist in OO or functional languages . Very few new languages, or any software for that matter, contain something that is completely original. Icon has generators and Eiffel has Assertions as part of their fundamental design, or core tenet, but can you say that those are new concepts? What gives a language its personality, or flavor, is how its designer(s) take what they've learned from experience (their own or others) and mix them with the vision they have. The end result, how those concepts are applied and how they fit together, is what largely determines whether we like a language or not. That said, I'd like it if others here would contribute - just for my edification - their thoughts about some of the important concepts REBOL is based on, and what other languages share those traits; either here, or mail me directly if you want. Consider this an aside to the main message. :) Assembly language is very strong on the idea of code/data duality. What other high level languages do it? REBOL is its own meta language. What other languages do that? REBOL has a large number of native datatypes, and the concept pseudo types (e.g. any-block!). Others? Forth was sometimes called "a language construction kit" as much as a language. REBOL elevates that concept explicitly with dialects. Do any other languages? Other things you can think of? OK, back to the message... j> On the GUI side there might be lots of innovation but I don't know ! Yes and no for me. If we look at VID, we can say that it does some things in neat ways, has its own share of warts, and does allow for some new ways of looking at things. OTOH, if we look at VID as an *example*, we might say that REBOL is innovative in how it supports the idea of building new systems for describing user interfaces which are tightly integrated with the core language. j> I first read Carl's statement that OO wasn't it, and j> messaging/dialects was a better paradigm, but really, j> now, I think that you can use a tool like OO pccts, j> http://www.antlr.org, and build any parser (for any j> grammar) you want and for serious parsing I wouldn't j> bet on Rebol's parse BNF. There is a lot more than j> that and if you want to find a solution to an j> important problem you have to dig deeper. Sure, you can build a parser in just about any language. There are lots of toolkits out there for various languages to do so. It's the approach - the core view of how you build parsers - that's different in REBOL, and why *I* like it *so* much more than other approaches. It has its limits of course, but within those limits it is enormously powerful IMO. I'm not sure what you mean by "serious" parsing though. j> You can think using a piece of paper. The language is implementation. Agreed; somewhat. :) I do lots of my design work on paper but I have to translate those designs into working applications. Even if I'm working on a design for which I have no idea what the implemenation language will be, I will think in terms of *some* language - be it natural, artificial, graphical, or what-have-you. If I'm working on a design and I know what language I'm going to use to implement it, that will influence the design heavily; I'm designing *for that language* after all. If I speak only Basque, and it doesn't have any words to support the concept of nuclear physics, it's going to be much harder to talk about that subject in Basque. A programming language serves two related purposes: it provides a vehiclce for the programmer to specify actions to be executed, and it provides a set of concepts for the programmer to use when thinking about what can be done...the second aspect ideally requires a language that is 'close to the problem to be solved' so that the concepts of a solution can be expressed directly and concisely... The language provides the programmer with a set of conceptual tools. --Bjarnre Stroustrup I don't mean to use that as an argument for REBOL, or against C++, but it's something I greatly agree with completely and expresses my feelings very well. Note also that I think we're still using REBOL very much like we would any other language, and as that changes, the differences - what makes it special - will become more apparent. j> You're one of the top guys here so it doesn't sound good to hear j> "when I really start to get it". Sorry. I post a lot, and answer the easy questions when I can, but I'm still just a babe in the woods with REBOL. For me, picking up the basic syntax of a language isn't the hard part, it's learning how to use it effectively that's the hard part. For some languages that isn't a problem because you don't have many ways to express things or solve problems. With REBOL, I often see huge gains when I refactor things, or attack problems in a different way. "Getting it" applies to individual solutions and also letting go of old habits from other languages. My first cut at a problem, even if only mentally, still often leans towards the obvious "brute force" approach I might need to use elsewhere where a much more elegant REBOL solution will eventually find its way out. I don't want to sound all soft and fuzzy about this stuff. I take my software development very seriously. j> I don't believe that, the more you "talk" in a language the better j> you communicate but you rarely do great things suddenly because you j> use that language vs other .. Yes, but talking in a language is different than thinking about how to express yourself in a language. Imagine trying to write poetry, or imagery-laden prose, in a language you're not deeply fluent in, even if you can communicate in that language. Thanks for posting. I don't mean to deter you from C++ in any way. Please don't take my post as criticism in any way; take it to mean that I care enough to think hard about why *I'm* using REBOL. :) -- Gregg

 [15/16] from: g:santilli:tiscalinet:it at: 26-Jan-2003 19:19


Hi jose, On Saturday, January 25, 2003, 2:13:19 AM, you wrote: j> Windows app is written in C++. C++ is a lot more than j> OO. There are many new concepts: STL, Generic j> Programming, Design Patterns, Generic Patterns to j> build reusable libraries, ... Do not want to critizice j> but haven't found any new concept in Rebol that didn't j> exist in OO or functional languages . Actually, I have not seen a single thing in any other language I know that is not in REBOL. ;-) However, I don't know any other language that has: dialecting; based on a single concept (values); 100% reflexivity; code = data; and so on... j> grammar) you want and for serious parsing I wouldn't j> bet on Rebol's parse BNF. There is a lot more than j> that I don't think so. ;-) I HAVE used other language, and they usually require me working much more time to do the same thing. Once I had to fiddle for three weeks to complete half of a project in Java; I could have finished it in REBOL in a day or two. Regards, Gabriele. -- Gabriele Santilli <[g--santilli--tiscalinet--it]> -- REBOL Programmer Amigan -- AGI L'Aquila -- REB: http://web.tiscali.it/rebol/index.r

 [16/16] from: doncox:enterprise at: 28-Jan-2003 19:22


On 24/01/03, jose wrote:
> Why nobody has built a good cross platform library > (maybe I am not aware) that lets you build a great > looking app in Linux and run it in windows and not be > able to distinguish it from a VC or VB app ? Maybe > rebol will be that, maybe java, maybe stg else !
For the same reason nobody has written a program to translate poetry from one language to another. The basic structure and concepts are different, so you have to do a fundamental rethink. Regards -- Don Cox [doncox--enterprise--net]

Notes
  • Quoted lines have been omitted from some messages.
    View the message alone to see the lines that have been omitted