October 12, 2009
Jeremie Pelletier wrote:
> Denis Koroskin wrote:
>> On Mon, 12 Oct 2009 19:18:41 +0400, Jeremie Pelletier <jeremiep@gmail.com> wrote:
>>
>>> Yigal Chripun wrote:
>>>> On 12/10/2009 07:33, Jeremie Pelletier wrote:
>>>>> Jérôme M. Berger wrote:
>>>>>> Jeremie Pelletier wrote:
>>>>>>> I agree however that GTK being in C is rather annoying, C is a great
>>>>>>> language but GUIs is one area where OOP really shines.
>>>>>>
>>>>>> Note that Gtk *is* object oriented despite being in C...
>>>>>>
>>>>>> Jerome
>>>>>
>>>>> It's a sorry hack, you have to use casts everywhere you'd rely on
>>>>> polymorphism in D or C+ and its harder to remember, read, code,
>>>>> maintain, and doesn't have any performance gains over C++, the explicit
>>>>> struct pointer in C is the implicit 'this' in C++ and non-virtual
>>>>> methods can be optimized as direct calls with no vtbl indirections.
>>>>>
>>>>> I tried gtkD and I don't like using an OOP layer on top of a C interface
>>>>> because that adds overhead for the exact same features, most good GUI
>>>>> libraries should abstract the platform anyways so GTK is usually only
>>>>> seen there and not in user code.
>>>>>
>>>>> It's still more fun to use than the Windows' windowing API, which
>>>>> doesn't even support layout objects such as boxes and grids, now that's
>>>>> total pain!
>>>>  what about MS' WPF? It has all the bells and whistles of modern UI, doesn't it?
>>>
>>> Isn't that just a pretty layer on top of win32/com? I now only use native toolkits as backends for my gui abstraction layer, using this would only add a level of indirection and make no sense.
>>
>> No, IIRC, it doesn't rely on Win32 API at all:
>>
>> Wikipedia quote:
>>> Designed to remove dependencies on the aging GDI subsystem, WPF is built on DirectX, which provides hardware acceleration and enables modern UI features like transparency, gradients and transforms.
> 
> Oh, I need to look into that!

Yeah, we made a game in WPF in the company I work for, using bindings (*the* feature of WPF): it was sluggish. From the start I recommended doing it in a lower-level language (I recommended D!) but no one listened to me. It runs pretty slow with an amazing computer. I don't like WPF (nor Siliveright). :-P
October 12, 2009
Jarrett Billingsley wrote:
> On Mon, Oct 12, 2009 at 3:39 AM, Don <nospam@nospam.com> wrote:
>> Are you talking about FF 3.5? It's a really poor product. Crashes all the
>> time, has some terrible UI misfeatures. I'm really amazed they shipped it in
>> that condition.
>>
> 
> I will gladly join in on the FF3.5 bashing. What a piece. EXTREMELY
> unresponsive, uses 3-4 times as much memory as FF3, flash videos don't
> play without hiccuping every five seconds, and it would just go into
> infinite loops or something and become completely unresponsive. I
> actually downgraded to 3.0 and it was like a new browser again! :P

Me too. And when clicking a tab sometimes it will make a whole new window out of it. There's even an extension to fix that! :-P
October 12, 2009
On Mon, Oct 12, 2009 at 3:23 PM, Ary Borenszweig <ary@esperanto.org.ar> wrote:
> Jarrett Billingsley wrote:
>>
>> On Mon, Oct 12, 2009 at 3:39 AM, Don <nospam@nospam.com> wrote:
>>>
>>> Are you talking about FF 3.5? It's a really poor product. Crashes all the
>>> time, has some terrible UI misfeatures. I'm really amazed they shipped it
>>> in
>>> that condition.
>>>
>>
>> I will gladly join in on the FF3.5 bashing. What a piece. EXTREMELY unresponsive, uses 3-4 times as much memory as FF3, flash videos don't play without hiccuping every five seconds, and it would just go into infinite loops or something and become completely unresponsive. I actually downgraded to 3.0 and it was like a new browser again! :P
>
> Me too. And when clicking a tab sometimes it will make a whole new window out of it. There's even an extension to fix that! :-P
>

Yes OMG I hate that. Sometimes I don't even have to click the tab, just middle-click-scrolling will do that. I wasn't aware there was even an extension :P
October 12, 2009
Walter Bright wrote:
> language_fan wrote:
>> Another point not mentioned here is that modern IDEs use incremental and interactive compilation model. The compiler should be run as a persistent background process and parsing should happen perhaps on the level of the current scope. Re-compiling a million line project after each key stroke simply makes no sense.
> 
> This would not require recompiling a million lines with every key stroke, unless you are editing a million line module.
> 
>> Even compiling the current module once per key stroke is too slow.
> 
> As you say, it should be done as a background process.
> 
>> Specifying an intermediate json/xml file format is a huge task considering the amount of language constructs, types etc. available in D.
> 
> It isn't. It's far less work than ddoc is, for example.
> 
>> I'm all for good tool support but as many have already mentioned, the support would only bring marginal improvements to small scale tools like vim and emacs. Usually small scale D projects (< 10000 lines of code) are written with those tools (feel free to prove me wrong). These are not the kinds of projects large enterprises would use D for, they use scripting languages for smaller tasks. Thus the overall improvement is minimal.
> 
> I think the bang for the buck on this is large.

For each snippet of code that doesn't currently compile, I generate a red warning in the TDPL draft. Currently there are 28 such red warnings, and each may be arbitrarily difficult to fix. There are other issues that we know need to be done as soon as yesterday.

IMHO it would be frivolous to spend time on anything else but the 28 bugs. This XML/JSON generation is like combing one's hair before leaving the burning house. Just run! (I'm not saying I don't like combed hair or XML/JSON parsing, but the latter is absolutely nothing you need to work on now.) Please understand that TDPL is on a crash course and we can't have a book without a language (I'm also assuming we can't have a language without a book).

Walter, please avoid all distractions and make bringing D in sync with the book your sole preoccupation. I am working *extremely* hard on the book, and I wish I were seeing the same level of commitment in you.


Andrei
October 12, 2009
Andrei Alexandrescu wrote:
> Walter Bright wrote:
>> language_fan wrote:
>>> Another point not mentioned here is that modern IDEs use incremental and interactive compilation model. The compiler should be run as a persistent background process and parsing should happen perhaps on the level of the current scope. Re-compiling a million line project after each key stroke simply makes no sense.
>>
>> This would not require recompiling a million lines with every key stroke, unless you are editing a million line module.
>>
>>> Even compiling the current module once per key stroke is too slow.
>>
>> As you say, it should be done as a background process.
>>
>>> Specifying an intermediate json/xml file format is a huge task considering the amount of language constructs, types etc. available in D.
>>
>> It isn't. It's far less work than ddoc is, for example.
>>
>>> I'm all for good tool support but as many have already mentioned, the support would only bring marginal improvements to small scale tools like vim and emacs. Usually small scale D projects (< 10000 lines of code) are written with those tools (feel free to prove me wrong). These are not the kinds of projects large enterprises would use D for, they use scripting languages for smaller tasks. Thus the overall improvement is minimal.
>>
>> I think the bang for the buck on this is large.
> 
> For each snippet of code that doesn't currently compile, I generate a red warning in the TDPL draft. Currently there are 28 such red warnings, and each may be arbitrarily difficult to fix. There are other issues that we know need to be done as soon as yesterday.
> 
> IMHO it would be frivolous to spend time on anything else but the 28 bugs. This XML/JSON generation is like combing one's hair before leaving the burning house. Just run! (I'm not saying I don't like combed hair or XML/JSON parsing, but the latter is absolutely nothing you need to work on now.) Please understand that TDPL is on a crash course and we can't have a book without a language (I'm also assuming we can't have a language without a book).
> 
> Walter, please avoid all distractions and make bringing D in sync with the book your sole preoccupation. I am working *extremely* hard on the book, and I wish I were seeing the same level of commitment in you.
> 
> 
> Andrei

I ammend the above: s/commitment/focus/. Of course Walter is motivate and committed more than anyone else to make D successful, but it's time to force ourselves to absolutely focus on the important _and_ urgent matters.

Andrei
October 12, 2009
BCS wrote:
> Hello Walter,
> 
> What would be better is a dump of a
> fully annotated AST from just before it's passed off for optimization
> and code gen.
> 
> 

To reiterate my offer,

I would be willing to implement this in DMD provided I can then assume that any modern D compiler will have it.
October 12, 2009
Jarrett Billingsley wrote:
> On Mon, Oct 12, 2009 at 3:23 PM, Ary Borenszweig <ary@esperanto.org.ar> wrote:
>> Jarrett Billingsley wrote:
>>> On Mon, Oct 12, 2009 at 3:39 AM, Don <nospam@nospam.com> wrote:
>>>> Are you talking about FF 3.5? It's a really poor product. Crashes all the
>>>> time, has some terrible UI misfeatures. I'm really amazed they shipped it
>>>> in
>>>> that condition.
>>>>
>>> I will gladly join in on the FF3.5 bashing. What a piece. EXTREMELY
>>> unresponsive, uses 3-4 times as much memory as FF3, flash videos don't
>>> play without hiccuping every five seconds, and it would just go into
>>> infinite loops or something and become completely unresponsive. I
>>> actually downgraded to 3.0 and it was like a new browser again! :P
>> Me too. And when clicking a tab sometimes it will make a whole new window
>> out of it. There's even an extension to fix that! :-P
>>
> 
> Yes OMG I hate that. Sometimes I don't even have to click the tab,
> just middle-click-scrolling will do that. I wasn't aware there was
> even an extension :P

Here it is: https://addons.mozilla.org/en-US/firefox/addon/12276

But I eventually uninstalled it because Firefox started working very weired. But maybe that's just FF and not the extension.

I think they are trying to copy Chrome's features, I don't know why... I always want to have my tabs in a single window, why would I want to go back to IE6?
October 12, 2009
On Mon, Oct 12, 2009 at 3:31 PM, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> wrote:

> Walter, please avoid all distractions and make bringing D in sync with the book your sole preoccupation. I am working *extremely* hard on the book, and I wish I were seeing the same level of commitment in you.

You're writing a book about a language that doesn't exist and then complaining that Walter isn't writing it for you?

Wow.



Just wow.

I'm out of here.
October 12, 2009
"language_fan" <foo@bar.com.invalid> wrote in message news:hav02v$2162$4@digitalmars.com...
> Sun, 11 Oct 2009 17:01:03 -0400, Nick Sabalausky thusly wrote:
>
>> "language_fan" <foo@bar.com.invalid> wrote in message news:hasd5u$1fgu$1@digitalmars.com...
>>>
>>> Well since there is already a project working on an Eclipse plugin, I see little use for other IDEs at the moment. The D community is rather small and only a small amount of people are capable of developing and willing to donate their free time on free IDE development (commercial IDEs have small potential now that Netbeans/Eclipse/IntelliJ/KDevelop/Visual Studio dominate the market). So why not concentrate on fixing the spec and fixing compiler bugs instead of building a modest IDE support no one will use?
>>
>> Any editor that is less responsive than notepad is useless to me, and I'm far from alone on that. Thus, we don't go anywhere near Eclipse, VS.NET, or anything along those lines (bunch of bloated garbage...and probably designed to get developers to buy fancier hardware and thus end up develop apps that require their users to buy fancier hardware).
>
> Fine, if you are happy with your productivity. For me it was a natural choice. I started with notepad like editors, then moved to "programmer's editors" like crimson editor and jedit, soon discovered vim and emacs, and finally have settled down on Eclipse, Netbeans, Visual Studio, and IntelliJ IDEA.
...
> The productivity boost is enormous.
...
> Another killer
> feature is the "intellisense" stuff. Having the ability to see a)
> inferred type b) integrated html rendered javadoc c) type correct class
> members etc. saves me hours of work time per day. YMMV

I've used all that stuff before. I had to use Eclipse back when I was doing a little Java, and I did used VS.NET for C# in the early days (back then, VS.NET had most of those nice features, but wasn't nearly as bloated and sluggigh as it is today). So I'm very familiar with all of that stuff. In fact, I love all of it. But with things like Programmer's Notepad 2, I can actually get into a "flow" (which sluggishness instantly breaks) and I end up far *more* productive (as long as I'm not using some POS language like Java, see below).

> "Practical" languages
> have lots of boiler-plate, and I can easily generate hundreds of lines of
> code with a couple of key combinations or mouse clicks.

I disagree very much. For a puritanical anal-retentive language like Java, you *have* to have all that fancy stuff just to make the language even usable. But with a practical language like D, I have mixins, and I've gotten pretty good with regex find and replace, which obviously isn't as good, but it's good enough when dealing with any language that's at least somewhat sensible. With practical languages I never need to generate hundreds of lines of code. If I ever actually needed to do so (and in a way that an IDE could actually help with), I'd take that as a very big red flag that I was using an incredibly shitty language in the first place (like Java).

Also, Eclipse, even with descent, is still very Java-centric, particularly wrt project/target/workspace management, and that gets in the way. And VS just doesn't have any D stuff available at all and takes a lot of work, a lot of bad documentation, and IIRC, a paid version of VS, to add or use any support at all for a new langauge. PN2 has D syntax highlighting built-in, which already puts it well ahead of VS for D.


October 12, 2009
"language_fan" <foo@bar.com.invalid> wrote in message news:hav41h$2162$5@digitalmars.com...
> Sun, 11 Oct 2009 22:54:39 -0400, Chad J thusly wrote:
>
>> Jeremie Pelletier wrote:
>>
>>> We can make programs that switch between GUI backends, most just don't go in that direction. Its as easy as graphics engines having GL and DX backends for their render system.
>
> Web 2.0 toolkits are platform neutral. You can define your own GUI with javascript & html & css. The interfaces (ajax, javascript, css, html, xml) have all been standardized. The objects on the GUI also do not waste low level handles like the traditional GUI toolkits do. I am sure that more locally usable Web 2.0 desktop applications are coming in the next few years.

That stuff is just plain garbage. It inevitably breaks when JS is disabled (and there are damn good reasons for doing so), and trying to put web apps on the desktop is just plain ass-backwards: web-apps are shit period, people should be trying to make desktop apps run on the web instead.