Re: D/Objective-C, extern (Objective-C)
Am Mon, 24 Jun 2013 22:30:56 +0200 schrieb Jacob Carlborg d...@me.com: On 2013-06-24 15:27, Michel Fortin wrote: Not necessarily. There's a couple of Objective-C classes that get special treatment by the compiler (identified by a pragma). One could do the same for an UDA so the compiler would know where to get that value. I'd surely have implemented it as an UDA if such a thing existed at the time. The thing is that pragmas are tied to the compiler. It knows the difference between pragma(foo) and pragma(bar). But for UDA's they are all treated the same, there's no difference between @(3), @(asd) and @foo from the compiler's point of view (as far as I understand). You could implement it as a new attribute (that is, not an UDA), but to implement it as an UDA would be a totally new thing. Maybe it's new in dmd but gdc already has an UDA which is recognized by the compiler: https://github.com/D-Programming-GDC/GDC/blob/master/libphobos/libdruntime/gcc/attribute.d https://github.com/D-Programming-GDC/GDC/commit/afb27a0048cbf51d40abc2810b85641d9e9af9dc The benefit of an UDA is that it does not pollute the global namespace like a normal attribute would.
Re: An idea - make dlang.org a fundation
On Tuesday, 25 June 2013 at 04:34:02 UTC, QAston wrote: This may be completely ridiculous - I'm a newcomer - please destroy me gently. So, the idea is to make dlang.org a fundation. Here are some possible benefits of doing this: -You get more people to own the language and therefore seriously care about it's future development. --Two people are not enough. ---What if someone gets hit by a bus? ---Delegate some administrative tasks to other people, so you can focus on improving things --Programmers are not all what's needed(the ability to write xml parser doesn't make you a good webdev) ---Get a real webdesigner involved ---Someone to do proffessional PR and advertising ---An admin to maintain all these things -You could start taking donations and hire some people to work on D. --Like for example, you could pay for a proffessional enterprise'y webdesign for dlang.org. --Companies want to donate to support tools they're using --Funding for DSoC -You'd get more interest from companies --Managers run companies, not programmers, github is not a collaboration for managers --Increase in trust, things are formal and transparent, not done behind the scenes --They may want to put a part-time developer to work on a compiler for example ---Much easier with a formal institution, where the dev would actually have something to say and can get things done There are obviously some issues, like the design by comitee problem and possibly others. Still, python, perl, haskell and others have foundations. That's probably why those are much better @ operational proffessionalism. Note: I don't want to do a cargo-cult here - simple registering doesn't do magic, yet it's a valid consideration i think, especially if it may help solving some problems pointed out by Andrei.
Re: [Phoronix] D Language Still Showing Promise, Advancements
Am Fri, 21 Jun 2013 14:11:17 +0200 schrieb qznc q...@web.de: The only-thread-local-garbage-collection of Rust is quite interesting in my opinion. Since many-cores (e.g. Xeon Phi) are coming, a stop-the-world garbage collector might become unacceptable. If this is a good solution will be seen (maybe). I certainly do not want D to adopt this experimental feature. Let them do the research. ;) Rust is called rust exactly because they don't use bleeding edge features in the language. -- Marco
Re: HibernateD and DDBC - ORM and DB abstraction layer for D
On Wednesday, 22 May 2013 at 00:19:04 UTC, Nick Sabalausky wrote: Right, exactly. In other words, there *is* a difference between null and empty string in D (even though it's sometimes a clouded issue since '==' counts them as equal). I meant there's no difference between them in meaningful scenarios (where empty string and null behave the same). Your example is synthetic (its also unclear wheter you compare strings or void*'s). I wouldn't expect this behavior to be reliable as D doesn't need distinction between null and empty string.
Re: DConf 2013 Closing Keynote: Quo Vadis by Andrei Alexandrescu
On Tuesday, 25 June 2013 at 05:57:30 UTC, Peter Williams wrote: Can you think of a better name than D Summer Of Code? It's very northern hemisphere centric and makes us southerners feel like the rest of the world doesn't know there is a southern hemisphere (or if they do that they don't know the seasons work) :-). Peter D Season of Code! Then we don't have to restrict ourselves to one time of the year.
Re: D/Objective-C, extern (Objective-C)
On 2013-06-25 08:53, Johannes Pfau wrote: Maybe it's new in dmd but gdc already has an UDA which is recognized by the compiler: https://github.com/D-Programming-GDC/GDC/blob/master/libphobos/libdruntime/gcc/attribute.d https://github.com/D-Programming-GDC/GDC/commit/afb27a0048cbf51d40abc2810b85641d9e9af9dc The benefit of an UDA is that it does not pollute the global namespace like a normal attribute would. Ok, I see. I don't know if that is implemented in DMD, not that I've heard of. But implementing this in DMD would be more work and would be yet another new feature. Note, I'm not saying I'm against it, I just want to limit how many new features are added to increase the chance of this getting into main line. -- /Jacob Carlborg
Re: D/Objective-C, extern (Objective-C)
On 2013-06-25 00:39, Steven Schveighoffer wrote: I think this is largely false. In order for the new syntax to be valid, you must use extern(Objective-C). That would be quite an accident. Consider that I have never dealt with the COM compatibility (or frankly, even the extern(C++) compatibility) part of D whatsoever. Because I've never implemented IUnknown, or used extern(C++). I agree, I never used those either. These features that are enabled by specific syntax are not extra complexity for D. Note that TDPL makes no mention of IUnknown or COM compatibility, yet I have never seen a post on D.learn asking questions about this feature set unless they were actually looking to write COM code. In other words, no accidental enabling (I have seen questions as to why interfaces are not Objects, and I grudgingly have to point to the incorrect belief that COM objects cannot be discerned from normal D objects at compile time). On the other hand, something like shared and const are pervasive, because they are core language features, AND because they are used throughout libraries. I think it is important to consider the applicability to normal code when introducing such binding features. The way this is to be introduced is the correct level of access -- only enabled with a specific directive. Well put, you said it better than I ever could. -- /Jacob Carlborg
Re: D/Objective-C, extern (Objective-C)
On Monday, 24 June 2013 at 22:39:13 UTC, Steven Schveighoffer wrote: On Mon, 24 Jun 2013 18:10:19 -0400, bearophile bearophileh...@lycos.com wrote: Jacob Carlborg: I don't think it adds much complexity. If you don't use extern (Objective-C) you don't need to learn it. D books must be bigger, D programmers must read those parts of the books, the error messages become more complex (because you can hit by mistake the unwanted syntax, or because the compiler recovering of errors must consider more possibilities), the compiler gets a little larger. Thinking that some new syntax has no costs is very wrong. I think this is largely false. In order for the new syntax to be valid, you must use extern(Objective-C). That would be quite an accident. Consider that I have never dealt with the COM compatibility (or frankly, even the extern(C++) compatibility) part of D whatsoever. Because I've never implemented IUnknown, or used extern(C++). These features that are enabled by specific syntax are not extra complexity for D. Note that TDPL makes no mention of IUnknown or COM compatibility, yet I have never seen a post on D.learn asking questions about this feature set unless they were actually looking to write COM code. In other words, no accidental enabling (I have seen questions as to why interfaces are not Objects, and I grudgingly have to point to the incorrect belief that COM objects cannot be discerned from normal D objects at compile time). This will surely change if we ever want to target WinRT with D, as it is COM based and might be the future Windows default API in the long term. I am quite curious to see the presentations of this week BUILD 2012, to see what changes Microsoft might be briging to WinRT. -- Paulo
Re: DConf 2013 Closing Keynote: Quo Vadis by Andrei Alexandrescu
I'm a Danish guy so there is a at least one dane using D :) /Jonas
Re: DConf 2013 Closing Keynote: Quo Vadis by Andrei Alexandrescu
Peter Williams, el 25 de June a las 15:57 me escribiste: On 25/06/13 02:13, Andrei Alexandrescu wrote: reddit: http://www.reddit.com/r/programming/comments/1gz40q/dconf_2013_closing_keynote_quo_vadis_by_andrei/ facebook: https://www.facebook.com/dlang.org/posts/662488747098143 twitter: https://twitter.com/D_Programming/status/349197737805373441 hackernews: https://news.ycombinator.com/item?id=5933818 youtube: http://youtube.com/watch?v=4M-0LFBP9AU Andrei Can you think of a better name than D Summer Of Code? It's very northern hemisphere centric and makes us southerners feel like the rest of the world doesn't know there is a southern hemisphere (or if they do that they don't know the seasons work) :-). Or they know, but they just don't give a fuck :) -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ -- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) -- The average person laughs 13 times a day
Re: HibernateD and DDBC - ORM and DB abstraction layer for D
On Wednesday, 22 May 2013 at 00:19:04 UTC, Nick Sabalausky wrote: Right, exactly. In other words, there *is* a difference between null and empty string in D (even though it's sometimes a clouded issue since '==' counts them as equal). == compare value, is compare identity. Everything is fine on that one.
Re: DConf 2013 Closing Keynote: Quo Vadis by Andrei Alexandrescu
Just finished watching Andrei's talk, it was up to his usual high standard. I found the bits about professionalism a bit weird though: can we really expect that from a volunteer effort? I'm pretty sure the A/V guys at the conference weren't volunteers, ie they were paid. Along the line that QAston started, if you want more professionalism, is there any interest in producing a commercial D compiler? If not, why not? I notice that Walter sells C and C++ compilers and source on digitalmars.com, but strangely not D. There are interesting business/source models nowadays where you can be mostly open source and still sell a commercial product. For example, Walter has often talked about optimizations in the compiler that he'd like to get to. There could be two compilers: one where the source is fully publicly available, another made available to paying users, which has additional optimizations done either by Walter or others who he supervises, but the source for those optimizations would not be available publicly, though perhaps made available only to the buyers under a non-OSS license. After enough time has passed for the optimization work to be paid for, the optimization patches would eventually be merged into the slower, non-paid version. Android uses a similar hybrid model, which has obviously been enormously successful. Another possibility is a bounty system, where users pledge money towards needed features or bug fixes. It'd basically be a more distributed version of the hybrid approach I've outlined. I wonder what the response would be to injecting some money and commercialism into the D ecosystem.
Re: DConf 2013 Closing Keynote: Quo Vadis by Andrei Alexandrescu
On 06/24/2013 10:57 PM, Peter Williams wrote: Can you think of a better name than D Summer Of Code? It's very northern hemisphere centric and makes us southerners feel like the rest of the world doesn't know there is a southern hemisphere The only southern country is Mexico, which I am told is in the Northern hemisphere. :p Ali
Re: Scott Meyers coming to Seattle to do presentation July 17
On 6/21/2013 1:26 PM, Walter Bright wrote: Watch http://nwcpp.org for more info later this week. The info on Scott's presentation is now posted.
Re: D/Objective-C, extern (Objective-C)
On 6/24/2013 1:18 PM, Michel Fortin wrote: And I don't think it is very common in D either. Either way, if D was to implement ARC for its own memory allocator instead of the current GC (which would be great) there's noting to prevent implementing it so that reference counts could be incremented from the middle address of a memory block, it'd be quite easy in fact, and quite necessary too because of the way arrays work. From my reading about ARC, it seems to me that we should support it now rather than later because: 1. people will expect it of D 2. non-ARC is inherently unsafe 3. migrating non-ARC code to ARC is error-prone and a major nuisance 4. non-O-C programs can also benefit from ARC (after all, reliance on the GC is the perennial dealbreaker for people wanting to migrate high performance code to D)
Re: D/Objective-C, extern (Objective-C)
On 2013-06-25 18:06:33 +, Walter Bright newshou...@digitalmars.com said: On 6/24/2013 1:18 PM, Michel Fortin wrote: And I don't think it is very common in D either. Either way, if D was to implement ARC for its own memory allocator instead of the current GC (which would be great) there's noting to prevent implementing it so that reference counts could be incremented from the middle address of a memory block, it'd be quite easy in fact, and quite necessary too because of the way arrays work. From my reading about ARC, it seems to me that we should support it now rather than later because: 1. people will expect it of D 2. non-ARC is inherently unsafe 3. migrating non-ARC code to ARC is error-prone and a major nuisance 4. non-O-C programs can also benefit from ARC (after all, reliance on the GC is the perennial dealbreaker for people wanting to migrate high performance code to D) Exactly. Even without support for Objective-C, ARC in D is a very desirable feature. Beside that, the C++/COM WinRT API also uses ARC now, so I'd say it's becoming a must have pretty quickly. -- Michel Fortin michel.for...@michelf.ca http://michelf.ca/
Re: An idea - make dlang.org a fundation
On 6/24/13 9:34 PM, QAston wrote: This may be completely ridiculous - I'm a newcomer - please destroy me gently. So, the idea is to make dlang.org a fundation. That would be nice, and I discussed it with Walter prior to DConf 2013. We temporarily concluded that the overheads and headaches would undo the advantages. Of course, if we had an expert in running a foundation on board, the tradeoffs would change. Andrei
Re: An idea - make dlang.org a fundation
On 2013-06-25 06:34, QAston wrote: ---Get a real webdesigner involved I would say, as long as the web site is written in ddoc, no real web designer will be interested. -- /Jacob Carlborg
Re: D/Objective-C, extern (Objective-C)
On 2013-06-25 20:06, Walter Bright wrote: 3. migrating non-ARC code to ARC is error-prone and a major nuisance Xcode provides refactoring tools to migrate manual reference counting and GC code to ARC. 4. non-O-C programs can also benefit from ARC (after all, reliance on the GC is the perennial dealbreaker for people wanting to migrate high performance code to D) Absolutely. -- /Jacob Carlborg
Re: DConf 2013 Closing Keynote: Quo Vadis by Andrei Alexandrescu
On Tue, 25 Jun 2013 15:57:18 +1000 Peter Williams pwil3...@bigpond.net.au wrote: Can you think of a better name than D Summer Of Code? It's very northern hemisphere centric and makes us southerners feel like the rest of the world doesn't know there is a southern hemisphere (or if they do that they don't know the seasons work) :-). I'm pretty sure the southern hemisphere has summer too...It's just a lot colder ;) Nobody called it D Warm-Summer of Code.
Re: An idea - make dlang.org a fundation
On 6/25/2013 1:09 PM, Jacob Carlborg wrote: On 2013-06-25 06:34, QAston wrote: ---Get a real webdesigner involved I would say, as long as the web site is written in ddoc, no real web designer will be interested. The dconf.org website was done by a real web designer who was paid real money, and it's in ddoc.
Re: DConf 2013 Closing Keynote: Quo Vadis by Andrei Alexandrescu
On 6/24/13 9:13 AM, Andrei Alexandrescu wrote: reddit: http://www.reddit.com/r/programming/comments/1gz40q/dconf_2013_closing_keynote_quo_vadis_by_andrei/ facebook: https://www.facebook.com/dlang.org/posts/662488747098143 twitter: https://twitter.com/D_Programming/status/349197737805373441 hackernews: https://news.ycombinator.com/item?id=5933818 youtube: http://youtube.com/watch?v=4M-0LFBP9AU Andrei HD version available: http://archive.org/details/dconf2013-day03-talk06 Andrei
Re: D/Objective-C, extern (Objective-C)
On 6/25/2013 1:08 PM, Jacob Carlborg wrote: On 2013-06-25 20:06, Walter Bright wrote: 3. migrating non-ARC code to ARC is error-prone and a major nuisance Xcode provides refactoring tools to migrate manual reference counting and GC code to ARC. Those don't work with D. Let's do it right the first time, and we won't have migration issues.
Re: DConf 2013 Closing Keynote: Quo Vadis by Andrei Alexandrescu
On 2013-06-25 11:42, Jonas Drewsen wrote: I'm a Danish guy so there is a at least one dane using D :) Tomas Lindquist Olsen, creator of LDC (LLVMDC back then) is Danish, if I recall correctly. -- /Jacob Carlborg
Re: An idea - make dlang.org a fundation
On 6/25/2013 1:19 PM, Andrei Alexandrescu wrote: On 6/25/13 1:16 PM, Walter Bright wrote: On 6/25/2013 1:09 PM, Jacob Carlborg wrote: On 2013-06-25 06:34, QAston wrote: ---Get a real webdesigner involved I would say, as long as the web site is written in ddoc, no real web designer will be interested. The dconf.org website was done by a real web designer who was paid real money, and it's in ddoc. Truth be told the designer delivered HTML, which we converted to DDoc. Yup, but as I recall we specified it with an eye towards easy conversion.
Re: DConf 2013 Closing Keynote: Quo Vadis by Andrei Alexandrescu
On Tuesday, 25 June 2013 at 15:44:02 UTC, Joakim wrote: Just finished watching Andrei's talk, it was up to his usual high standard. I found the bits about professionalism a bit weird though: can we really expect that from a volunteer effort? I'm pretty sure the A/V guys at the conference weren't volunteers, ie they were paid. Along the line that QAston started, if you want more professionalism, is there any interest in producing a commercial D compiler? If not, why not? I notice that Walter sells C and C++ compilers and source on digitalmars.com, but strangely not D. There are interesting business/source models nowadays where you can be mostly open source and still sell a commercial product. For example, Walter has often talked about optimizations in the compiler that he'd like to get to. There could be two compilers: one where the source is fully publicly available, another made available to paying users, which has additional optimizations done either by Walter or others who he supervises, but the source for those optimizations would not be available publicly, though perhaps made available only to the buyers under a non-OSS license. After enough time has passed for the optimization work to be paid for, the optimization patches would eventually be merged into the slower, non-paid version. Android uses a similar hybrid model, which has obviously been enormously successful. Another possibility is a bounty system, where users pledge money towards needed features or bug fixes. It'd basically be a more distributed version of the hybrid approach I've outlined. I wonder what the response would be to injecting some money and commercialism into the D ecosystem. Given how D's whole success stems from its community, I think an open core model (even with time-lapse) would be disastrous. It'd be like kicking everyone in the teeth after all the work they put in.
Re: DConf 2013 Closing Keynote: Quo Vadis by Andrei Alexandrescu
On Tuesday, 25 June 2013 at 20:58:16 UTC, Joseph Rushton Wakeling wrote: I wonder what the response would be to injecting some money and commercialism into the D ecosystem. Given how D's whole success stems from its community, I think an open core model (even with time-lapse) would be disastrous. It'd be like kicking everyone in the teeth after all the work they put in. I don't know the views of the key contributors, but I wonder if they would have such a knee-jerk reaction against any paid/closed work. The current situation would seem much more of a kick in the teeth to me: spending time trying to be professional, as Andrei asks, and producing a viable, stable product used by a million developers, corporate users included, but never receiving any compensation for this great tool you've poured effort into, that your users are presumably often making money with. I understand that such a shift from being mostly OSS to having some closed components can be tricky, but that depends on the particular community. I don't think any OSS project has ever become popular without having some sort of commercial model attached to it. C++ would be nowhere without commercial compilers; linux would be unheard of without IBM and Red Hat figuring out a consulting/support model around it; and Android would not have put the linux kernel on hundreds of millions of computing devices without the hybrid model that Google employed, where they provide an open source core, paid for through increased ad revenue from Android devices, and the hardware vendors provide closed hardware drivers and UI skins on top of the OSS core. This talk prominently mentioned scaling to a million users and being professional: going commercial is the only way to get there.
Re: An idea - make dlang.org a fundation
On Tuesday, 25 June 2013 at 20:09:46 UTC, Jacob Carlborg wrote: I would say, as long as the web site is written in ddoc, no real web designer will be interested. For my work sites, I often don't give the designer access to the html at all. They have one of two options: make it work with pure css, or send me an image of what it is supposed to look like, and I'll take it from there. Pure css doesn't always work, so sometimes I have to add or rearrange some html stuff for them, but it usually actually *does* work, after they get over their initial this is impossible stage. ddoc would be even easier than this, since the main website skeleton is just a piece of html anyway (see dmd2/src/phobos/std.ddoc and the macro DDOC = ).
Re: D/Objective-C, extern (Objective-C)
On 2013-06-25 22:18, Walter Bright wrote: Those don't work with D. Let's do it right the first time, and we won't have migration issues. Right, forgot to add: for Objective-C. -- /Jacob Carlborg
Re: An idea - make dlang.org a fundation
On Tuesday, 25 June 2013 at 20:09:46 UTC, Jacob Carlborg wrote: On 2013-06-25 06:34, QAston wrote: ---Get a real webdesigner involved I would say, as long as the web site is written in ddoc, no real web designer will be interested. There is no need for designer to know what DDOC is. For the past few years I have worked with many designers which had only basic knowledge about HTML and even less about CSS (most of them don't know anything about JavaScript but they know jQuery a bit). They just give me PSD and I do slicing and all coding. So if any redesign of dlang.org is going to happen I volunteer to do all coding, so there is no need to look for designer which is comfortable writing DDOC.
Re: DConf 2013 Closing Keynote: Quo Vadis by Andrei Alexandrescu
On 26/06/13 06:14, Nick Sabalausky wrote: On Tue, 25 Jun 2013 15:57:18 +1000 Peter Williams pwil3...@bigpond.net.au wrote: Can you think of a better name than D Summer Of Code? It's very northern hemisphere centric and makes us southerners feel like the rest of the world doesn't know there is a southern hemisphere (or if they do that they don't know the seasons work) :-). I'm pretty sure the southern hemisphere has summer too...It's just a lot colder ;) Nobody called it D Warm-Summer of Code. Not all of it. In tropical Australia, they have two seasons - the wet season (aka the suicide season) and the dry season :-). Peter
Re: DConf 2013 Closing Keynote: Quo Vadis by Andrei Alexandrescu
On 26 June 2013 09:59, Peter Williams pwil3...@bigpond.net.au wrote: On 26/06/13 06:14, Nick Sabalausky wrote: On Tue, 25 Jun 2013 15:57:18 +1000 Peter Williams pwil3...@bigpond.net.au wrote: Can you think of a better name than D Summer Of Code? It's very northern hemisphere centric and makes us southerners feel like the rest of the world doesn't know there is a southern hemisphere (or if they do that they don't know the seasons work) :-). I'm pretty sure the southern hemisphere has summer too...It's just a lot colder ;) Nobody called it D Warm-Summer of Code. Not all of it. In tropical Australia, they have two seasons - the wet season (aka the suicide season) and the dry season :-). I like to think of it as the soaking bloody wet season, and the slightly less wet season ;) Slightly more tolerable than indonesia, which has only a single 'soaking wet at precisely 4pm every day, but otherwise lovely weather (if you like humidity) season'...
Re: D/Objective-C, extern (Objective-C)
On 26 June 2013 04:06, Walter Bright newshou...@digitalmars.com wrote: On 6/24/2013 1:18 PM, Michel Fortin wrote: And I don't think it is very common in D either. Either way, if D was to implement ARC for its own memory allocator instead of the current GC (which would be great) there's noting to prevent implementing it so that reference counts could be incremented from the middle address of a memory block, it'd be quite easy in fact, and quite necessary too because of the way arrays work. From my reading about ARC, it seems to me that we should support it now rather than later because: 1. people will expect it of D 2. non-ARC is inherently unsafe 3. migrating non-ARC code to ARC is error-prone and a major nuisance 4. non-O-C programs can also benefit from ARC (after all, reliance on the GC is the perennial dealbreaker for people wanting to migrate high performance code to D) Yay! Since the conference, I'm finding myself more and more convinced that what I actually want is ARC rather than GC... although this is just a feeling, and completely untested in practise ;) But I have experience with ARC on other platforms, and the fact it results in predictable patterns makes it much easier to work with it.
Re: DConf 2013 Closing Keynote: Quo Vadis by Andrei Alexandrescu
On Tue, Jun 25, 2013 at 2:37 PM, Joakim joa...@airpost.net wrote: On Tuesday, 25 June 2013 at 20:58:16 UTC, Joseph Rushton Wakeling wrote: I wonder what the response would be to injecting some money and commercialism into the D ecosystem. Given how D's whole success stems from its community, I think an open core model (even with time-lapse) would be disastrous. It'd be like kicking everyone in the teeth after all the work they put in. I don't know the views of the key contributors, but I wonder if they would have such a knee-jerk reaction against any paid/closed work. The current situation would seem much more of a kick in the teeth to me: spending time trying to be professional, as Andrei asks, and producing a viable, stable product used by a million developers, corporate users included, but never receiving any compensation for this great tool you've poured effort into, that your users are presumably often making money with. I understand that such a shift from being mostly OSS to having some closed components can be tricky, but that depends on the particular community. I don't think any OSS project has ever become popular without having some sort of commercial model attached to it. C++ would be nowhere without commercial compilers; linux would be unheard of without IBM and Red Hat figuring out a consulting/support model around it; and Android would not have put the linux kernel on hundreds of millions of computing devices without the hybrid model that Google employed, where they provide an open source core, paid for through increased ad revenue from Android devices, and the hardware vendors provide closed hardware drivers and UI skins on top of the OSS core. This talk prominently mentioned scaling to a million users and being professional: going commercial is the only way to get there. IDEs are something you can have a freemium model for. Core languages are not these days. If you have to pay to get the optimized version of the language there are just too many other places to look that don't charge. You want the best version of the language to be in everyone's hands. But there can be some tools you have to pay for. http://www.wingware.com/ is a good example of a commercial Python IDE that adds value to the community with a commercial offering. I paid for a copy back when I was doing a lot of python development. It is definitely not a business I would want to be in, though. I was surprised to see they are still alive, actually. Hard to make much money selling things to developers. --bb