Re: Language Popularity
On 10/28/2010 04:45 PM, "Jérôme M. Berger" wrote: Todd VanderVeen wrote: http://langpop.com/ Interesting that D comes first on Reddit with a reasonably comfortable margin ;) It's how they performed the search. These stats are pure crap, because "D" matches tons of miscellaneous stuff. There's no way D is more popular than Python on reddit. I remember years back when the D community was so obsessed over it's Tiobe number, watching every little movement, and those stats were complete crap too.
Re: Marketing D [ was Re: GCC 4.6 ]
On 10/31/2010 05:12 PM, Walter Bright wrote: D is fully open source. No, Walter, it isn't, and you should know this by now considering all the past discussion. All the back-end work you're doing is "source available". "Open source" was coined in 1998 by people with a precise meaning: See http://www.opensource.org/docs/osd and http://www.opensource.org/history . In particular, free redistribution and derived works are fundamental to the open source definition.
Re: Marketing D [ was Re: GCC 4.6 ]
On 10/31/2010 06:30 PM, Walter Bright wrote: Yes, and GDC and LDC are 100% GPL. That's nice, except that neither are suitable as a replacement for your proprietary D2 compiler, which is the reference compiler and where all the bleeding edge work is done. So strong statements like "D is fully open source" are misleading. The open source compilers are always playing catch-up, and the people that could be helping you out on the compiler are instead replicating your efforts.
Re: Marketing D [ was Re: GCC 4.6 ]
On 10/31/2010 09:29 PM, Walter Bright wrote: I don't agree. There's very little, almost no, D specific support in the dmd back end. It's a C compiler back end. Nearly all the work is done in the front end, which should be little more than a cut & paste job for LDC and GDC once they are already up and running with the front end. Are they using the front end? The bugfix patches are nearly all tagged with specific updates to the source, so any one critical patch can be easily applied. There are 3 D compilers, 2.5 of which are GPL, and the source is available for the rest. First, 2.5/3.0 is not "fully open source". Second, as of yet, there is no open source compiler for D2 comparable with DMD, never mind any demonstration that it can keep up with any changes in the reference compiler.
Re: One year of Go
On 11/12/2010 11:29 AM, Sean Kelly wrote: To me, what they're saying is that their syntax is broken and so it forces a convention upon the users to deal with the issue. I know this is just a bike shed issue, but seeing something like this in the beginning of the tutorial makes it difficult for me to take them seriously. Yes, semicolons are a bike shed issue, and dismissing the whole language because of that is petty. Walter has made a point in the past about people who will look for one reason to dismiss something. There are ideas worth looking at in Go, whether you decide to use the language or not.
Re: One year of Go
On 11/12/2010 01:31 PM, Sean Kelly wrote: I haven't dismissed Go because it clearly has done a lot of things right. But stumbling across something like this in my first 5 minutes with the language doesn't instill a lot of confidence. There are dozens of design decisions to make in a language, and they chose one poorly. They certainly aren't the first with regards to semicolons, and D has plenty of similar issues (like not taking the opportunity to fix C's case fallthrough). It's hard to reconcile that you think they did a lot of things right with statements like "seeing something like this in the beginning of the tutorial makes it difficult for me to take them seriously". You never mentioned anything positive in your original post; it certainly sounded like you just dismissed the language. The lack of generics and dangerous concurrency are much bigger issues. If D can actually be shown to be a useful concurrent language, instead of the buggy and incomplete mess it is now, then it might have something to crow about.
Re: One year of Go
On 11/13/2010 02:53 AM, Russel Winder wrote: What do you see as wrong with the Go model for concurrency? Andrei explained it to you in the "GO Vs D" thread: http://groups.google.com/group/golang-nuts/browse_thread/thread/f24e7d46091e27ab/e30994ff3d3b32ca#e30994ff3d3b32ca The short answer is that data can be shared by accident.
Re: One year of Go
On 11/13/2010 03:17 AM, Russel Winder wrote: On Sat, 2010-11-13 at 09:07 +0800, Boris Wang wrote: Just about generic, I think, C no generic, so Go no generic, it's a good enough reason. That may be the mindset, I do not know, we would have to ask Rob Pike and Russ Cox. However, if that is the argument then they have definitely got it wrong if they want to work with complex homogeneous data structures using static typing. Boris's stated reason is terrible and wrong. If "good enough for C" was the design rationale, then there would be no need for another language outside of C. Rob Pike stated in his first big talk about Go that there are no generics because they couldn't find a good way to make them fit in the language. He did say that there was less need for them in Go, but also left open the possibility that they could be added at a later time.
Re: Jeff Dean's keynote at LADIS 2009
On 12/10/2010 08:07 PM, Andrei Alexandrescu wrote: Includes discussion of and insights into problems that are also of high interest to the D programming language. http://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf A little more info, since I had no I idea who Jeff Dean is or what the topic was: The pdf contains the slides to a talk about building large, distributed systems at Google. It talks about performance and high availability. There's a cool picture of one of their data centers. It's huge!
Re: Why Ruby?
On 12/13/2010 09:08 AM, Ary Borenszweig wrote: Yes I am :-) Since you were the Descent author, I wonder how you feel about Ruby's lack of static typing. In the video, the speaker bashes type safety as "having your balls fondled at the airport", that is, security theater that doesn't accomplish much. But that misses many of the good features that come with it, especially in an IDE like Eclipse: code completion, find declaration, find references, rename refactoring, and compiler checked documentation. Ruby is also one of the slowest languages around, and I'm sure some of that is due to the "freedom" it gives you, "freedom" being what the speaker calls no static typing and monkey patching.
Re: Why Ruby?
On 12/13/2010 10:37 AM, Ary Borenszweig wrote: Fourth, rename refactoring. That is the thing that is likely less to happen in a project. Actually, I do that quite a bit. I found that I renamed things a lot more when it became easy to do so. Before that I would tend to live with a name I didn't like any more. What do you mean by "compiler checked documentation"? I mean the parameters to a method are documented, at least at the type level, and the compiler verifies it. Anyways, thanks for sharing your experience. I'm not really sold, but maybe one day I'll give it a shot.
Re: emscripten
On 12/15/2010 04:31 PM, Nick Sabalausky wrote: But if you're going to make, say, a mortgage rate calculator, excluding Lynx or requiring JS makes absolutely no sense whatsoever. This is actually a good example of why you might require JavaScript. Here, JavaScript is useful to the end user because it doesn't require a request and response to the server, so everything is faster and smoother. Supporting both JavaScript and plain HTML takes extra work for little benefit, since the vast majority of users have it enabled. It's not 1995 anymore.
Re: emscripten
On 12/16/2010 03:04 PM, Nick Sabalausky wrote: I do make my pages usable both ways and I've found the extra effort to be downright minimal. Unless you're doing things very, very, very wrong, the vast majority of the work in a site is independent of JS vs non-JS. For the mortgage calculator, you have to implement the same functionality twice, once in JavaScript, and once as a backend calculation using request/response server navigation. The technologies are very different and it's nearly a complete duplication of work. And besides, no one's ever going to get me to agree with something simply by trying to shame me into it with some idiotic "newer-is-inherently-better", "Oh no! I don't want to be un-trendy!!" line of dumbass sheep-think. You're missing the point. 1995 is when JavaScript came out, and you couldn't depend on the browser having it. Now it's nearly ubiquitous, so there's very little benefit to spend the time making something like a mortgage calculator work without JavaScript. Your argument is to do extra work for a worse interface to benefit a minority of users. By the way, I browse by default with NoScript. I resisted JavaScript just as much as you, but it does have it's uses, and I'll enable it when I have to.
Re: [OT] Mozilla Thunderbird
On 12/16/2010 08:39 AM, Justin Johansson wrote: Just wondering how others rate Thunderbird as a decent newsreader. In general I am happy with it. It has a couple of minor bugs or a feature missing that I want, but there's a lot that it does right. (Thanks to the person who recommended the QuoteCollapse add-on. This newsgroup desperately needs it.) For one thing, and perhaps this is a newsgroup server problem, but I doubt it, my Thunderbird client shows a number of D NG topics as being unread though the folder tree item for d.D shows all items as read. Try right-clicking on the newsgroup and selecting Mark Newsgroup Read. I think the unread number you see might be from not downloading all the messages. Aside from that issue, my experience with Thunderbird is that it is not particularly innovative in drawing my attention to the high-traffic topics apart from telling me that one-or-more responses are unread (as opposed to popular topics for example). In the columns list, there's a button to customize what columns to display. One of them is Total. If you collapse all threads ('\' hotkey, under View -> Threads on the menu), you'll get a count for each thread. The above applies to version 3.0.
Re: emscripten
On 12/17/2010 09:18 PM, retard wrote: FWIW, JavaScript still isn't very efficiently supported on many platforms. Do you think performance is a problem for a mortgage calculator? I think the performance issues of JavaScript are way overblown for the majority of use cases. I think the biggest problem is people keeping open lots of tabs with crappy JavaScript running from ad farms.
Re: is it possible to learn D(2)?
On 12/18/2010 07:55 AM, Caligo wrote: If there is going to be a D3, will it be backwards compatible with D2? And why is work still being done on the D1 compiler? Shouldn't it be marked deprecated so people stop using it and move to D2? D1 is stable and only bug fixes are being applied to it. For D2, the post you replied to mentioned compiler bugs several times, and also mentioned unimplemented features. D2 has *never* been officially released (like D1 was), though its release was supposed to coincide with the release of Andrei's book. The date kept on getting pushed further and further back, until finally the book came out (publishers only have so much patience), and no mention of D being released was made. Walter and Andrei haven't been very honest in their presentations on the state of the language. I know a software project is never "finished", in that you can't expect perfection, but D2 is still in the alpha state. It's not reasonable for features documented in the definitive book on the language to not work. Also, the crown jewel of D2 was supposed to be immutability and concurrency, and those are the buggiest parts.
Re: is it possible to learn D(2)?
On 12/18/2010 03:16 PM, Don wrote: Jeff Nowakowski wrote: D2 has *never* been officially released (like D1 was), though its release was supposed to coincide with the release of Andrei's book. Where did you get that idea? I've never heard it before. (Genuine question, I'd like to know where that impression came from). Which idea are you questioning? That D2 hasn't been "released", or that the two were supposed to come out together? The answer to both would be the newsgroup. There was plenty of talk about them coming out together, and then time went by, and Andrei's book was relatively quietly released (unless I missed some big announcement; my memory was of posts trickling in of people who had pre-ordered), and no mention was made of D2 being released any more along with the book. I can dig up posts if you like, but I'd rather not unless any of this is in dispute. Walter and Andrei haven't been very honest in their presentations on the state of the language. I think the initial estimate of how long things would take was wildly optimistic. I am certain that there's been no intention to be dishonest, at any stage. Andrei gives other people a lot of shit over only showing the positive in their presentations. Both Andrei and Walter have misrepresented the open source compiler issues on their slides (and Walter had no excuse after Andrei was called for it on the newsgroup). I saw Andrei's Google presentation and he talked a lot about D2 features and gave away a lot of books, but never once said that D2 was still being implemented and that serious bugs remained.
Re: emscripten
On 12/18/2010 01:49 PM, Nick Sabalausky wrote: Ok, so why would I want to turn JS on and put up with those shitty browser-killing, user-experience-killing JS Ads just for a calculator that obviously doesn't need it? Do as you please. I find it trivial to enable specific pages with NoScript. The question is why should the web author spend extra time for a tiny minority of users that get up in arms? You talk about dinosaurs and being pretentious in another thread, but you're the biggest curmudgeon on the newsgroup. Even I have learned to live with JavaScript, and I used to hate it just as much as you.
Re: is it possible to learn D(2)?
On 12/19/2010 01:44 AM, Andrei Alexandrescu wrote: I don't think it's worth investigating this, but at any rate my thinking has been that finalizing TDPL would finalize the specification of D2. Of course, ideally the compiler would follow the specification as closely as possible, but with the number of extant issues it has always been pretty clear that conformance will be trailing. Always? It became clear at some point, but did you really not expect all the features to be fully implemented when you started the book? How about this statement from you: May 15, 2009: Re: Please Vote: Exercises in TDPL? "One nice thing is I've written (in D!) a little script that extracts the code from all of my examples, compiles it, and runs it comparing the output with the expected output. The book will definitely have a number of faults, but code that doesn't work will not be one of them. [..] There's still stuff that doesn't compile (Walter is working on that)" The book hasn't been released quietly at all; I've sent numerous updates to this group (just search for TDPL in the title) and my website has made the event as prominent as it could. I agree and retract my statement: the release wasn't quiet. What stuck out in my mind was that there was talk of an imminent release, and then weeks went by before somebody reported receiving the book. I guess that's just lag time in the publication process. Well I didn't give away "a lot" of books, I gave three, and specifically for the three most embarrassing questions. It was 6. You mentioned the number at the very beginning of your talk. It is nice that you prodded for embarrassing questions. Another thing would be that I tend to focus on language power, because that's perennial, and consider implementation bugs something transitory. People who hear a talk about something and want to try it out will very much care about implementation bugs. You should warn them in advance, especially for major bugs and unimplemented features. As of today I can't offhand think of a feature in TDPL that we don't know how to implement in D, and that topic is important. Problems with theoretical designs are often found after implementation and usage. It's certainly been the case with D and immutability + concurrency. I sure hope you give an honest review at the next D talk. This is what you said about a Go programming talk on this newsgroup: "I'm surprised you found the talk compelling, as I'm sure you know better. The talk uses a common technique - cherry-picking examples and avoiding to discuss costs and tradeoffs - to make the language look good." Maybe you can talk about all the problems that have been exposed with D's model of immutability. I think these statements from you would be a good starting point: Aug 16, 2010: Re: The Status of Const "Const and immutable will be used less often than in C++. This might seem a weakness to those coming from C++ where const can and should be sprinkled often, but it is a natural consequence of the relative restrictions imposed by const in C++ vs. D. D's const is more restrictive, and as such will find its way in fewer idioms than C++'s." Sep 17, 2010: Re: QtD is suspended "But by and large I think the matter could gave have be settled in a different manner: by not catering for const in the first release. D has a lot to offer besides const, and its const subsystem is a good bit more restrictive than e.g. C++'s, mainly to help with concurrency."
Re: is it possible to learn D(2)?
On 12/20/2010 02:48 AM, Andrei Alexandrescu wrote: Yes, how about it? Is this a murder investigation? I have a hard time figuring out what is the ultimate purpose of spelunking my past statements to look for inconsistencies. Hypocrisy is a pet peeve of mine. How about discussing the gory problems with const, and discussing the true state of the language at the next D talk? If you're going to bash Go presentations for cherry-picking, you should hold yourself to the same standards. As for why I did the research, if people are going to deny statements I made, then I'm going to back them up with facts. I did rescind one erroneous statement of mine. My original post was in response to a thread about somebody looking to jump into D2, and somebody who responded asking why D1 was even being worked on. I'd say my post was on topic.
Re: How is the D programming language financed?
On 12/27/2010 02:16 PM, Andrei Alexandrescu wrote: There's a risk on this newsgroup to get stuck in a sort of limbo mode, in which the analysis of increasingly narrow corner cases loses focus on a few larger issues. Granted, we _must_ leave no nooks and crannies unexplored, but we also shouldn't spend disproportionate amounts of time on those at the expense of getting work done in D. Funny, I thought the people trying to write const correct libraries and multithreaded programs were trying to get work done in D. Immutability was supposed to be the crown jewel of D2. Given your past statements, and the recent statements backing down on immutability, especially as it is used in Phobos, a thought occurred to me: Rename D2 to Icarus, backport the "amazing", working parts of D2 to D1, and rename that to C++0x. Everybody wins. Sorry to pick on you, Andrei, but with leadership comes responsibility. I also believe in truth in advertising. Walter can't tout immutability as a bullet point if it isn't working, has unresolved design issues, and you yourself have backed away from it.
Re: DVCS (was Re: Moving to D)
On 01/12/2011 04:11 PM, retard wrote: Same thing, can't imagine how a video card could break. I recently had a cheap video card break. It at least had the decency to break within the warranty period, but I was too lazy to return it :P I decided that the integrated graphics, while slow, were "good enough" for what I was using the machine for.
Re: Potential patent issues
On 01/18/2011 05:52 PM, BlazingWhitester wrote: Walter, could you give some comments about this? Does dmd violate anything? It's probably in Walter's best interest to not even look at it. On the one hand, it's probably a crap software patent that the Patent Office has been handing out like candy, and removing basic features that have been patented could cripple D. Whoever owns it might not decide to sue, Walter's implementation might not infringe, it might be invalidated, etc. On the other hand, if Walter is sued and found to have infringed the patent, and if he "willfully infringed", meaning he had knowledge of the patent, then he could face up to three times damages.
Re: DVCS
On 01/19/2011 04:18 PM, Gour wrote: That's why we wrote it would be better to use some rolling release like Archlinux where distro cannot become so outdated that it's not possible to upgrade easily. https://wiki.archlinux.org/index.php/FAQ : "Q) Why would I not want to use Arch? A) [...] you do not have the ability/time/desire for a 'do-ityourself' GNU/Linux distribution" I also don't see how Archlinux protects you from an outdated system. It's up to you to update your system. The longer you wait, the more chance incompatibilities creep in. However, the tradeoff is that if you update weekly or monthly, then you will spend more time encountering problems between upgrades. There's no silver bullet here. Personally, I think you should just suck it up, make a backup of your system (which you should be doing routinely anyways), and upgrade once a year. The worst case scenario is that you re-install from scratch. It's probably better to do that once in a while anyways, as cruft tends to accumulate when upgrading in place.
Re: DVCS
On 01/20/2011 12:24 AM, Gour wrote: I've feeling that you just copied the above from FAQ and never actually tried Archlinux. No, I haven't tried it. I'm not going to try every OS that comes down the pike. If the FAQ says that you're going to have to be more of an expert with your system, then I believe it. If it's wrong, then maybe you can push them to update it. The "do-it-yourself" from the above means that in Arch user is not forced to use specific DE, WM etc., can choose whether he prefers WiCD over NM etc. So instead of giving you a bunch of sane defaults, you have to make a bunch of choices up front. That's a heavy investment of time, especially for somebody unfamiliar with Linux. That's not true...In Arch there is simply no Arch-8.10 or Arch-10.10 which means that whenever you update your system package manager will simply pull all the packages which are required for desired kernel, gcc version etc. The upgrade problems are still there. *Every package* you upgrade has a chance to be incompatible with the previous version. The longer you wait, the more incompatibilities there will be. Otoh, with Ubuntu, upgrade from 8.10 to 10.10 is always a major undertaking (I'm familiar with it since '99 when I used SuSE and had experience with deps hell.) Highlighting the problem of waiting too long to upgrade. You're skipping an entire release. I'd like to see you take a snapshot of Arch from 2008, use the system for 2 years without updating, and then upgrade to the latest packages. Do you think Arch is going to magically have no problems?
Re: DVCS
On 01/20/2011 07:33 AM, Gour wrote: On Thu, 20 Jan 2011 06:39:08 -0500 Jeff Nowakowski wrote: No, I haven't tried it. I'm not going to try every OS that comes down the pike. Then please, without any offense, do not give advises about something which you did not try. I did use Ubuntu... Please yourself. I quoted from the FAQ from the distribution's main site. If that's wrong, then Arch has a big public relations problem. I can make rational arguments without having used a system. That's a heavy investment of time, especially for somebody unfamiliar with Linux. Again, you're speaking without personal experience... From Jonathan M Davis in this thread: "There is no question that Arch takes more to manage than a number of other distros. [..] Arch really doesn't take all that much to maintain, but it does have a higher setup cost than your average distro, and you do have to do some level of manual configuration that I'd expect a more typical distro like OpenSuSE or Ubuntu to take care of for you." Moreover, in TDPL's foreword, Walter speaks about himself as "..of an engineer..", so I'm sure he is capable to handle The Arch Way You're talking about somebody who is running a nearly 3 year old version of Ubuntu because he had one bad upgrade experience, and is probably running software full of security holes. If he can't spend a day a year to upgrade his OS, what makes you think he wants to spend time on a more demanding distro? There are no incompatibilities...if I upgrade kernel, it means that package manager will figure out what components has to be updated... And what happens when the kernel, as it often does, changes the way it handles things like devices, and expects the administrator to do some tweaking to handle the upgrade? What happens when you upgrade X and it no longer supports your video chipset? What happens when you upgrade something as basic as the DNS library, and it reacts badly with your router? Is Arch going to maintain your config files for you? Is it going to handle jumping 2 or 3 versions for software that can only upgrade from one version ago? These are real world examples. Arch is not some magic distribution that will make upgrade problems go away. Remember: there are no packages 'tagged' for any specific release! Yeah, I know. I also run Debian Testing, which is a "rolling release". I'm not some Ubuntu noob.
Re: Is D not-for-profit or not?!
On 01/30/2011 12:56 AM, Jonathan M Davis wrote: On Saturday 29 January 2011 21:41:28 Jack wrote: Tell! No trolling please. It's a legitimate question, one that's been asked many times, and one that I've never seen Walter answer. Instead, we have people who fill in answers for him. I think it would make people more comfortable to know what Walter thinks with regard to D and money. Is he in it for money? If so, how does he plan to make it? There's nothing wrong with being in it for money, but it would be nice to know up front and in what manner. D is a programming language. There's nothing about D which would be for profit or not for profit. You don't sell a programming language. Tell Google that programming languages aren't sold. They're being sued by Oracle for essentially implementing Java. One of the big reasons Oracle bought Sun was to get Java.
Re: On 80 columns should (not) be enough for everyone
On 01/30/2011 04:29 PM, Nick Sabalausky wrote: Minor side note: Vertical space being much more important than horizontal for both code and other text is the primary reason I'd never consider getting a widescreen monitor. Widescreen monitors are awesome as an alternative to dual-screen monitors. I liked the idea of being able to compare stuff side-by-side with dual screens, but never liked the implementation. Too much fussing around and an ugly gap in the middle. As for vertical space, I just made sure the monitor I bought had as much or more than the old one it replaced.
Re: new documentation format for std.algorithm
On 02/02/2011 10:59 AM, Andrei Alexandrescu wrote: (Absolute) font size does not belong to the page designer, instead to the user. Just press dedicated key binding (often ctrl-), or whatever command to set it appropriately. I'm not sure about that. Facebook's site is professionally designed and I think they use fixed font sizes all over the place. There are tons of "professionally designed" big name sites all over the web that use fixed-font sizes that either look terribly small or terribly large, comparatively. Don't you experience this yourself? The whole idea is just wrong. People browse the web in all kinds of default font sizes, screen resolutions, and preferred browser width. Your web page should flow naturally to whatever the user has.
Re: new documentation format for std.algorithm
On 02/03/2011 12:26 AM, David Nadlinger wrote: Yet I'd guess that 99% of all people on the web have never touched their browsers default font size/style controls… Then let them get the defaults. Do you think designers know better? They can't, because every screen and browser window comes in arbitrary resolutions and sizes. What the designers do is pick something that looks good for them, and if they're /really/ "professional", they'll assume some "standard" screen real-estate is available and design the page as if the user was browsing at that. More likely they'll just try to please the managers.
Re: new documentation format for std.algorithm
On 02/03/2011 01:21 AM, Andrei Alexandrescu wrote: Someone mentioned in this thread that leaving all font sizes to default causes the text to be too small. The rhetoric is convincing but I'm afraid it can't be properly translated into reality. It doesn't matter *what* you choose, somebody will complain it is too small or too large. That doesn't mean that some choices aren't better than others. Going by default size and making the fonts relative to that is the way to go, assuming smaller sizes are justified to squeeze in text to cramped spaces. Large blocks of text descriptions should be at the default size. Then if somebody complains about that, tell them to fix their defaults instead of imposing their monitor and browser settings on the rest of the Internet.
Re: new documentation format for std.algorithm
On 02/03/2011 11:09 AM, Andrei Alexandrescu wrote: Apparently at least for one person choosing the default makes the text too large. Making the default smaller in turn makes Wikipedia text too small. I wouldn't want to require a change of defaults to see our website or to compete with Wikipedia :o). Can't you see the ridiculous of this argument? You are talking about the problems of one person, and then comparing it to one site. I feel like you completely ignored what I said. So go ahead and change it to fixed. I'll now complain it doesn't work for me. Will you then change it back?
Re: new documentation format for std.algorithm
On 02/03/2011 11:54 AM, David Nadlinger wrote: Sorry, I don't quite get your point there. Of course there is the standard 960px desktop viewport to target, and typical mobile device dimensions are getting more and more important as well. It's part of delivering a good job to make sure that your work looks splendid at the few »standard« configurations, and not too bad on the rest. Where is the contradiction? And what does »pleasing the managers« have to do with that? What 960 pixel "standard"? Who the hell decided that? Who even knows how large a pixel is on my monitor, or my preferred browser width, or what font settings I might be using either due to preference or poor eyesight? Laptop screens, desktop monitors, and mobile devices come in a dizzying array of sizes and resolutions. The "standard" used to be 800x600 back in the 90s. The idea was idiotic then, and it's idiotic now. There are no standard display sizes on the web. The whole idea is trying to force-fit a print design mindset onto a medium that was explicitly designed to not have one. I just wanted to point out that using relative font sizes has hardly any intrinsic advantages to just specifying sizes in pixels (zoom controls work for both). Using pixels means it's much more likely that somebody is going to have to manually adjust the zoom. Also, fixing the amount of content you're going to display based on pixels, instead of properly flowing, is broken when the client's resolution doesn't match your chosen "standard". They will either get too much content or not enough, and zooming won't help.
Re: A study on immutability usage
On 10/01/2012 09:39 PM, Bernard Helyer wrote: Our results from 14 Java applications Only 14? So it's a useless statistic. No, that isn't true. How many language decisions in D are based on an analysis of even 5 programs, let alone 14? What if you were testing to see how fair a coin was, and it came up heads 14 times in a row? Would you have a very strong suspicion that the coin was biased? This isn't an idle question, as this kind of question happens a lot during preliminary testing of medical treatments, for example. How many examples you have to look at depends on what you are looking for and the kind of results you get.
Re: Scaling Scala Vs Java
On 11/02/2012 12:18 AM, Andrei Alexandrescu wrote: I have a dream that one day there will be a guy with the ID philobear discussing D-related stuff on Java and Scala forums. You're lucky to have bearophile on this group. Cross-pollination is a good thing.
Broken newsgroup threading, again (was: Re: I'm back)
On 11/22/2012 06:36 PM, H. S. Teoh wrote: The threading is fine in my MUA (mutt); I think somebody mentioned some time ago that Mailman is inserting/substituting message IDs where it shouldn't, which causes things to break. I'm not sure exactly what or where, though. Yes, it is the "puremagic" mail-to-news gateway. Here's the explanation for the last time this problem was discussed: http://forum.dlang.org/post/jo2c5s$f1$1...@digitalmars.com It's about time to "fix it or fuck it" with Mailman.
Re: Broken newsgroup threading, again
On 11/23/2012 04:46 PM, Vladimir Panteleev wrote: I know how to work around this problem (subscribe to both the mailing list and newsgroup, and store both Message-IDs). I just need to allocate some time to work on the forum again. Hopefully around the end of the month. Sorry, I assumed you were talking about the forum specifically :) Obviously the above applies only to forum users. Right. The problem needs to be dealt with at the Mailman gateway for newsgroup users.
Re: Google Fight - D vs Go
On 11/20/2012 05:52 PM, Jonathan M Davis wrote: This probably doesn't mean all that much, but I find it interesting that Go is only slightly ahead of D when comparing d programming and go programming, and D is only slightly ahead of Go when comparing "d programming and "go programming": http://www.googlefight.com/index.php?lang=en_GB&word1=d+programming&word2=go+programming http://www.googlefight.com/index.php?lang=en_GB&word1=%22d+programming%22&word2=%22go+programming%22 The hit count when using parens is pretty low though. Regardless, I find it somewhat interesting that D and Go are getting such similar search results in terms of numbers. Given that it's from google, I would have expected Go to do better than it's doing in comparison to us (though it's quite possible that the search for Go is returning more useful hits). You're right, it doesn't mean much. What you are doing is essentially what TIOBE does. Given the generality of "D" and "go", you're measuring ambiguous results, as you allude to in your last remark. You might remember the last time TIOBE came up, with the big announcement that D had cracked the top 20 in a big swing. I don't recall seeing an announcement when D plummeted back down to the 30s. If you want to say how well a language is doing, show me the jobs. Both languages are niche in that department.
Re: Better forum
On 12/05/2012 09:08 PM, anonymous wrote: Editing is an anti-feature. I think it's nice that mistakes are preserved. This is a forum for discussion, mistakes are expected, and editing can make it difficult to follow. +1 I've been on plenty of forums where editing is allowed, and I hate it. If you're changing what you said, you're participating in a wiki page, not a conversation.
Re: Better forum
On 12/05/2012 10:10 PM, js.mdnq wrote: Oh come on... so you're saying that if I make a mistake that changes the intent that I should just leave it alone or make a new post pointing out the mistake rather than being able to edit it? Think twice, post once. Most mistakes are innocuous and don't need to be corrected. If you need a correction, then yes, make a reply. The problem is the basic principle of a conversation is lost if you make substantial changes after other people have either read or replied to your post. You're just being ridiculous to be so... No, it's the way I feel, and clearly I'm not the only one here. It also mirrors the nature of conversations. and hell, no one is forcing you to edit your mistakes to make it easier for others to understand. It's not my editing that I'm worried about. I'm worried about the integrity of the conversation, as some people just can't resist treating their post like a wiki essay.
Re: Moving towards D2 2.061 (and D1 1.076)
On 12/12/2012 04:45 PM, Iain Buclaw wrote: Though one of the downsides would be that if I were to leave, so would the site. For the stability of the project, D needs more commodity-based services like Amazon S3, and less volunteer-hosted, ad hoc services administered by people in their spare time. If D can raise $30k for a one-time conference, raising the money to host project files should be a no-brainer.
Re: Free?
On 10/22/2011 01:56 PM, Steve Teale wrote: I'd never seen it before - maybe I lead a sheltered life. GPL: "Free as in Herpes" Doesn't that just hit the nail on the head. No, it doesn't. It's pure flamebait. Nobody wants to get herpes and it serves no useful purpose. On the other hand, many people happily use GPL software and like the fact that the source is available and will remain available with further distributions. If you don't like GPL then don't use it. It's not hidden and going to infect you without your consent.
Re: Free?
On 10/24/2011 05:30 AM, Nick Sabalausky wrote: Meh, use of the term "FUD" itself has become a FUD tactic. And it's just an analogy (plus joke). Analogies are rarely perfect and they aren't meant to hold up to being picked apart by all the little details. It's close enough as an analogy. It's deceitful propaganda and mudslinging. If it was directed at D you'd be up in arms.
Re: Free?
On 10/24/2011 05:24 PM, Nick Sabalausky wrote: So expressing disapproval about something, and the reason for the disapproval, is suddenly "deceitful propaganda and mudslinging"? Cut the bullshit, Nick. I explained already why "GPL: "Free as in Herpes" was flamebait, deceitful, mudslinging propaganda. You just liked it because it was "hilarious flamebait" and because you hate the GPL. Ah, I forgot, ever since the 60's nobody's allowed to have a negative option on anything... Just like when people make bullshit statements about D on Stack Overflow, Reddit, or here you get pissed off. Bullshit it bullshit, regardless of whether you are for or against something. There's nothing wrong with expressing a negative opinion, as long as it reasoned and truthful. The original post was neither.
Re: Free?
On 10/25/2011 04:48 PM, Nick Sabalausky wrote: It was indeed truthful. And as far as reasoning: The GPL propogates itself through what it touches. That's what's considered "viral", period. Yes, it has *some* viral aspects. That doesn't mean "Free as in Herpes" isn't deceitful mudslinging. All these rediculous nitpicks about "useful purpose" and "voluntary acts" are absolutely no more sensible than saying "No, it's not viral because it's not made out of nucleic acids!!" Doesn't matter if you like the GPL or not: Face it, the shoe fits. Nitpicking? Are you serious? GPL has provided immense benefits and has been voluntarily adopted around the world, and it's "nitpicking" to criticize somebody who says "Free as in Herpes"? As for the comparison with D, if someone makes a negative statement about D that *is* truthful, even said in a joking tounge-in-cheek mannar, I do *not* get pissed off or up in arms about it. And even when it isn't truthful, I usually just simply correct them. *snort* You of the midnight, drunken rants about Google, or rants about pretty much anything. Sure, you "simply correct" people and don't get pissed off. Are you going to make me dig up examples?
Re: Free?
On 10/26/2011 12:51 AM, Nick Sabalausky wrote: "Jeff Nowakowski" wrote in message Nitpicking? Are you serious? GPL has provided immense benefits and has been voluntarily adopted around the world, So have the non-viral free licenses. And if I said they were "Free as in dogshit", would this also be "true" and not mudslinging?
Re: Free?
On 10/27/2011 02:44 AM, Don wrote: There is a serious point behind it, though. The use of "free" in conjunction with the GPL, has a different meaning than "free" normally means. I actually agree, and have espoused this view myself in the past. If this was the reasoned argument that was actually made, instead of "free as in herpes", then I would have no problem with it.
Re: Free?
On 10/27/2011 02:01 PM, Kagamin wrote: My experience says we can't have freedom without law. Anarchy is possible only hypothetically (it would work only in a very unrealistic condition). So it's pretty safe to assert freedom implies enforcement. The kind of enforcement the GPL requires is along the lines of consumer protection laws and not freedom. It's more like saying you have to list the ingredients in your food product.
Re: GSoC Mentor Summit Observations and D Marketing
On 10/24/2011 11:19 PM, Walter Bright wrote: The 3 keys come next. It has to be more than two, and less than 4. I've been toying with: 1. control 2. multi-paradigm 3. robustness (Yes, I've been reading a book on this!) Whatever you do, drop #2. "multi-paradigm" is a common buzzword that makes people's eyes glaze over.
Re: Digital Mars Website
On 11/11/2011 05:58 PM, Jude Young wrote: I came very close to assuming D was dead and going off to look at another language. (I was considering Go, But I hate the forced {} syntax) It's funny, the trivial reasons that people will come up with to choose a programming language.
Re: Website message overhaul
On 11/14/2011 04:52 PM, Walter Bright wrote: Many newly-designed languages are wrapped around a single paradigm, and they set a store by being so. D most assuredly and pointedly has different take on that. As do languages like Go, C++, and Scala. "multi-paradigm" is "completely and fatuously generic", to use your words. This is *my* I told you so moment. How many different people have keyed in on this stupid buzzword?
Re: Website message overhaul
On 11/14/2011 08:05 PM, Andrei Alexandrescu wrote: That doesn't seem the case to me at all. Multi-paradigm programming language has a rather precise meaning - it's a language that allows several of the classic programming styles (functional, object-oriented, procedural, generic). It's not precise at all. Very few languages are actually single-paradigm. Is C++ multi-paradigm, even though it bills itself as such? Well compared to Smalltalk it is, but its functional support is crap, and generics are a nightmare. Is Java multi-paradigm? Why not? It isn't as religious as Smalltalk, has primites and arrays, with some generic support, and you can always kluge functional programming. What about Common Lisp? Sure, it has lots of parenthesis, but you can bend the language and it has support for objects (CLOS). Multi-paradigm is *not* a selling point. Explicit features are. This is one of these cases where you are arguing from a dead-end position. A reaction about marketing from your community cannot be explained away, because marketing is about about perceptions.
Re: Website message overhaul
On 11/14/2011 10:55 PM, Andrei Alexandrescu wrote: Statements and views can be bent in various ways. For example, I think it would be tenuous to bill Java as multi-paradigm. Of course you could if you really wanted, but you'd go against the grain. I don't see why C++ is given a pass for "multi-paradigm" and Java isn't. Want procedures? Java has static functions. They didn't make primitives and arrays proper objects. Smalltalk is single-paradigm. Haskell is single-paradigm. Nearly every popular language embraces multiple paradigms. The dynamic crowd does -- Python, Ruby, etc. New languages like Scala do, and I don't see what single paradigm Go adheres to that you could call it single-paradigm. I think it's simpler than that - to be frank, it's probably the time to reckon it's you who is the problem. Almost without exception, you only post from an already emotionally loaded, negative frame. I see. So do I control the what, half-dozen people who all came out against multi-paradigm? This being two weeks after my single, short, and blunt message against using the word multi-paradigm? You've got blinders on, and it's not the first time when it's about something like a name that you are enamored to and lots of people dislike.
Re: Website message overhaul
On 11/15/2011 09:31 AM, Andrei Alexandrescu wrote: On 11/15/11 5:43 AM, Jeff Nowakowski wrote: I don't see why C++ is given a pass for "multi-paradigm" and Java isn't. Want procedures? Java has static functions. That would mean "allowed", not "supported". Java explicitly supports "static" functions that are not part of an object. Math.abs() is a common example. Both you and Walter have been supporting C++ as multi-paradigm, but it's functional support is awful and generics are a nightmare to use. The only reason C++ has that billing is because it came out when Smalltalk was *the* object-oriented language, and it took "everything is an object" very seriously. It was also slow as hell and unfamiliar to C users, so C++ marketed itself differently. Let's enumerate. I searched for all messages titled "Website message overhaul" containing "paradigm", then read them again. Bearophile was opposed to it. Timon Gehr wrote: "If we can find a less buzzy word than 'Multi-paradigm power' to describe D's multi-paradigm power, that would be nice, but I am also fine with the current state of affairs." That hardly counts him as against, but fine. That's a grand total of two. He also said: "+1. Gets us rid of the buzzy 'Multi-paradigm' in the title too." He's obviously against it, but was willing to let it slide. There's also: - Lutger Blijdestijn, while he didn't explicitly come out against multi-paradigm, offered an alternative: "I like the term modeling power a lot, and would use this as the main point." - Robert Clipsham, who said: "It's covered in buzz words. Are you trying to appeal to managers or programmers?" Maybe he can clarify if that includes multi-paradigm. I assume yes. - And Jonathon Davis, while he defends it, he also damns it: "I think that the problem is that it _sounds_ like a buzzword and it's not a term that enough programmers have thought about. [..] But if it's not a term that you've thought about before or which really means something to you, then it's just going to sound like a stupid buzzword." By the way, the idea that somebody like bearophile hasn't thought about different paradigms is laughable. - Paulo Pinto and Jacob Carlborg have also questioned why you don't consider some languages multi-paradigm. It comes after a long, monochord pattern of sniping. It's true that I generally post negative critique, and that's because I tend to post when things get my dander up enough. That doesn't mean the message is frivolous or wrong. If I wanted to snipe like that I'd be posting here several times a week on multiple topics. I don't.
Re: Website message overhaul
On 11/15/2011 12:59 PM, Andrei Alexandrescu wrote: Would be great to also post when you feel you could help with something. My criticism is intended to be helpful, just like it is when other people have criticized the website. You even changed your mind about fonts and layout on the website some months back in response to my criticism.
Re: Website message overhaul
On 11/15/2011 04:54 PM, Walter Bright wrote: Scala's multi-paradigms are OOP and functional. Yet it doesn't support function purity or immutable data. Having a syntax for lambdas doesn't make a language functional. I know few people share my opinion about that, but it seems that functional is used a lot as a buzzword. Alan Kay on C++: "Actually I made up the term 'object-oriented', and I can tell you I did not have C++ in mind." You can argue all you want whether Scala is /really/ functional, or if C++ is /really/ object-oriented, but what is clear is that they have both borrowed ideas from the different styles, and are not singularly dogmatic as a single-paradigm language would suggest.
Re: Website message overhaul
On 11/17/2011 02:12 PM, Somedude wrote: It's geared towards programmers who may be interested in having a look, usually coming from other largely used imperative languages. And for most of these programmers, multi-paradigm means what Andrei said. My opinion is that most programmers don't give a shit if a language advertises itself as "multi-paradigm". It's not something I see bandied about among developers, except that C++ is most known for using that label. It just isn't a distinguishing feature in today's programming landscape. My feeling is your nitpicking isn't very helpful. I wasn't the only one, "Somedude".
Re: Website message overhaul
On 11/19/2011 03:21 PM, Walter Bright wrote: To me, multi-paradigm means I can switch paradigms. Ocaml is functional, there's no switching away from that. What does that even mean? Are you thinking of Haskell? OCaml has object-oriented features and allows imperative constructs.
Re: Website message overhaul
On 11/19/2011 07:02 PM, Walter Bright wrote: If a language has all variables being immutable, then the functional aspect of it is not something you can move away from This is just wrong: http://caml.inria.fr/pub/docs/manual-ocaml/manual003.html#toc8 The whole point of OCaml is that it is NOT pure like Haskell. If you need to be imperative it has full support for it.
Re: Website message overhaul
On 11/19/2011 08:00 PM, Walter Bright wrote: Since OCaml allows both mutable and immutable state, I stand corrected in regards to OCaml. But my point still stands. What point? This sub-thread was about OCaml. For example, Java has been called "multi-paradigm" because it supports OOP and Imperative. But there's no getting away from OOP in Java. All data structures are Objects. Even arrays are Objects. Hence, OOP in Java cannot be considered an alternative paradigm for Java. Primitives are not objects, and arrays are specialized objects with language support. Java also supports procedural programming with static methods. It also supports checking reference equality with ==, which is not OO at all. If all you wanted to do was treat Java as a procedural language, you could. You'd pay an object tax on memory, but other than that, the procedural style is very easy to do. All these OO escape hatches were built into the language intentionally, quite unlike Smalltalk. Besides all this, Java is going to be the weakest language to pick on for "multi-paradigm". Many other languages in today's programming landscape offer more variety. If you want to argue that D is special, then argue about it's support for functional purity. Even Scala doesn't have that. Just don't get into the quagmire of saying that Scala isn't multi-paradigm because it isn't /really/ functional. And I still say you should avoid the use of "multi-paradigm", because it sounds like a stupid buzzword. EXECUTIVE Oh, God, yes. We're talking about a totally outrageous paradigm. MEYER Excuse me, but "proactive" and "paradigm"? Aren't these just buzzwords that dumb people use to sound important? Not that I'm accusing you of anything like that. I'm fired, aren't I? MEYERS Oh, yes.
Re: Website message overhaul
On 11/19/2011 11:27 PM, Walter Bright wrote: I don't agree. You cannot have any data structures in Java that are not OOP. You've really got to stretch to call Java multiparadigm. You've got a very binary view on things. Object-oriented programming is about encapsulating data via methods and inheritance. If all you've got is primitive types, arrays, objects with fields only, and static procedures along with reference equality then you've got a classic, procedural program. The only thing you've paid for is a tiny bit of object memory overhead. Haskell, Ruby, Python don't, for example. Haskell is *the* single-paradigm functional language, and I've already stated it is. Both Python and Ruby offer functional support, as well as support for objects. I'll argue in this n.g. that Scala isn't functional, but I don't intend to do so on the web site or write any articles about Scala. In your binary thinking world, Scala doesn't support functional programming. Yet the outside world sees that it does, so any marketing along the lines of D being "multi-paradigm" isn't going to be unique. It's misused a lot, to be sure. But we are using it correctly. D really is multi-paradigm. There is no stretching of the term to make it fit. It's a stupid sounding buzzword because average people don't use it in everyday conversation. They use simpler, more common words like "model" or "style". It's like when the marketing droids came up with the word "leverage" and starting using it everywhere in place of "use".
Re: Website message overhaul
On 11/20/2011 10:03 AM, Nick Sabalausky wrote: Looks fine in FF2... (Heh, yea, I know...) There's nothing funny about running a browser that stopped getting security updates 3 years ago.
Re: Website message overhaul
On 11/20/2011 01:49 PM, Nick Sabalausky wrote: All Mozilla has to do is Mozilla doesn't have to do anything. Why should they care that *you* are running with a browser 3 years out of security updates? According to Wikipedia [1], not even 1% of Firefox users out there still run version 2. [1] http://en.wikipedia.org/wiki/Firefox#Market_adoption Maybe you want to dispute the statistics, but I think you'll have a hard time coming up with anything significantly different.
Re: Java > Scala
On 11/30/2011 03:17 AM, Walter Bright wrote: It has to run on the JVM, which is a large and heavy rock. You should check the beams in your eyes before talking about the motes in others. Did you see this recent post? "I don't think porting any game to D is a good idea right now. I've did some major game developement on D. Half my code uses manual memory management and still the D garbage collector is a major performance issue. Unless you want to do all of the memory management yourself, which pretty much results in not using phobos and most of the cool features in D I wouldn't recommend porting a bigger game to D." The JVM garbage collector is miles ahead of D's. I think it's pitiful that a language that aims to be a C++ replacement has been an utter failure in the gaming area, the one area where C++ has reigned supreme.
Re: Java > Scala
On 11/30/2011 01:38 PM, Walter Bright wrote: Yes, it is. What I meant by the "large and heavy rock" is the difficulty of expressing any sort of semantics that are not Java semantics in the JVM bytecode. Fair enough. In C++, one does all the memory management manually. But in C++ libraries are designed with this in mind. You didn't address his point: "Unless you want to do all of the memory management yourself, which pretty much results in not using phobos and most of the cool features in D." And isn't the point of D to relieve you of the burden of doing stuff like memory management? You should read Tim Sweeney's (Gears of War developer) "The Next Mainstream Programming Language", where the slide for Gameplay Simulation says, "Usually garbage-collected." I assume by this he means that for C++ the developers end up writing their own garbage collector inside the program. http://www.st.cs.uni-saarland.de/edu/seminare/2005/advanced-fp/docs/sweeny.pdf If D could demonstrably solve the problems outlined in these slides, you'd have a whole industry at your fingertips.
Re: Java > Scala
On 11/30/2011 03:58 PM, bigsandwich wrote: "Usually garbage collected" in the case of Unreal refers to Unreal Script which is not C++ at all. Its a language similar to Java that is compiled into bytecode. It doesn't say that in the slides. It says that they use C++ *and* script code. The slides are also talking about Gears of War, too, not just Unreal. Most games use allocations schemes for different parts of the game, including garbage collection. Which just repeats what I said, "I assume by this he means that for C++ the developers end up writing their own garbage collector inside the program." You wouldn't want to use GC in performance critical code anyway, so it probably doesn't matter that its that slow. Check the slides again. It has to run at 30-60 frames per second. This is "soft" real-time. What does matter is having a way to isolate GC to the few libraries where your willing to pay for it and turn it off for everything else. Interestingly enough, under Musings he says, "Memory model: Garbage collection should be the only option". Real-time garbage collection that actually works well in a game setting would be the ideal.
Re: Java > Scala
On 12/02/2011 05:38 PM, Timon Gehr wrote: I'm more an emacs guy, and I jump to declarations by (maybe C-x C-f filename ENTER) M-s \w+ identifier ENTER (and a few C-s for the occasional false positives), and I can use similar techniques to not only reach a specific declaration, but any specific position in the whole code. I don't think that it is any slower than always lifting your hands from the keyboard in order to be able to use the mouse and slow IDE functionality. Try "F3" in Eclipse. You know, it has keyboard shortcuts too, and user-definable ones at that, and it is smart about Java. I'm an Emacs guy too, but Eclipse blows Emacs out of the water when it comes to programming in Java.
Re: Eclipse, IntelliJ IDEA, NetBeans, Emacs, Code::Blocks
On 12/03/2011 03:52 AM, Russel Winder wrote: Started a new thread for this... In the discussion of IDEs in the Java -> Scala thread no-one has been mentioning D support. C++ is reasonably or very well supported in all of these development tools, what is the D support like? Perhaps the relevant section a webpage needs to be expanded and SEOd so Google and Bing pick it up? http://prowiki.org/wiki4d/wiki.cgi?EditorSupport
Re: A new web newsreader
On 12/08/2011 07:27 AM, Steven Schveighoffer wrote: (Posted from the new web interface). Replies to posts should follow convention and prefix the subject with "Re: " if it doesn't already have one.
Re: Biggest Issue with D - Definition and Versioning
On 01/14/2012 10:31 PM, Andrei Alexandrescu wrote: 2. We haven't identified game designers as a core market You probably should, as C++ is the de facto standard in the games industry, and the one area where D could shine above languages like C# or Java. You might even be able to get some funding from big companies like EA or others if you can convince them you're on the right track. and one that's more important than e.g. general purpose programmers who need the like of working qualifiers, multithreading, and shared libraries. And this is just as, if not more important, in the games industry as elsewhere. I do agree that a correct and full implementation of these features is more important than Walter getting distracted on a late-game feature request. Since Walter is gating pull requests, he should either prioritize them or delegate the responsibility.
Re: Breaking backwards compatiblity
On 03/09/2012 11:40 PM, Adam D. Ruppe wrote: On Windows though, even if you relied on bugs twenty years ago, they bend over backward to keep your app functioning. They stopped doing that a long time ago. There's a well-known blog article about this: http://www.joelonsoftware.com/articles/APIWar.html Some apps and hardware had trouble running on XP, and Vista took this to all new levels -- one of the reasons it got so much bad press.
Re: Arbitrary abbreviations in phobos considered ridiculous
On 03/13/2012 03:15 PM, Nick Sabalausky wrote: That's not even an accurate comparison anyway. Disabling CSS never does much to improve things, and usually it'll just make things *far* worse. I disable CSS frequently in Mozilla: View -> Page Style -> No Style. This fixes a lot of annoying styles that don't respect my font settings or don't display well based on the width of my browser screen.
Re: The Downfall of Imperative Programming
On 04/10/2012 12:06 PM, Paulo Pinto wrote: A curious fact is that the FP fans have much to thank to Microsoft, as it is the company with more FP research on their paychecks. Many open source fans are not aware that a few of the main developers in the Ocaml and Haskell communities, work for Microsoft Research labs. I don't see any reason to thank Microsoft for this so much as to be wary of it. The same people that were getting paid to work on this stuff at universities in Europe, where software patents don't exist, are now getting paid to work at Microsoft, where patenting software is expected as part of the job. Microsoft has also in recent years been very aggressive with their patent portfolio, rattling their saber at Linux and suing Android distributors.
Re: The Downfall of Imperative Programming
On 04/12/2012 11:02 AM, Paulo Pinto wrote: And yet IBM still is the number one champion in patents. Or just, because they play nice most of the time with open source they are excused? I don't know why you are talking about IBM. Maybe you should reread my post. I'm talking about Microsoft because you brought them up.
Re: How can D become adopted at my company?
On 04/26/2012 10:59 AM, Don Clugston wrote: No, I don't mean "GPL compatible". I'd be perfectly happy for the DMD backend to be released under a GPL-incompatible free/open source licence like the CDDL. The problem is not GPL compatibility but whether sufficient freedoms are granted to distribute and modify sources. And the only one such limitation of freedom which has ever been identified, in numerous posts (hundreds!) on this topic, is that the license is not GPL compatible and therefore cannot be distributed with (say) OS distributions. I don't understand your fixation on the GPL, as even a GPL-incompatible license would allow it to be distributed on FOSS operating systems like Debian or Fedora. The important principle, which you've been ignoring for some reason, is that you can redistribute the source along with modifications. This is not special to GPL, and is fundamental both to open source and Free Software.
Re: Exceptional coding style
On 01/15/2013 08:29 PM, H. S. Teoh wrote: It's paradoxical that a 1D (i.e. linear) representation is more useful for capturing the complexity of programming as opposed to, say, a 2D graphical representation Typical code is 2d because of line-oriented statements and indented block structure. Reading a truly linear file of code in 1d would be quite a nightmare.
Re: Dimensionality of program code
On 01/17/2013 03:13 PM, Stewart Gordon wrote: Mathematically, a curve is considered a one-dimensional object, regardless of whether the space in which it is embedded has two, three or more dimensions. (I'm ignoring fractals here for simplicity.) If you consider the shape of the indented block structure to be a curve, then it's still one-dimensional in this respect. I think you dismiss the embedded space too easily. We call a plot laid out in 2D is a 2D-plot. You use both dimensions to specify it. And in most languages, a program/module is essentially just a sequence of tokens, and as such is one-dimensional. We might look at it in a two-dimensional form, but this two-dimensional layout means nothing as far as the program structure and semantics are concerned. Even a 2D picture can (and often is) represented as a series of ones and zeroes. That doesn't mean the essential 2D aspects of it don't exist. To say that the 2D layout of block structures "means nothing" is misguided. It's fundamentally there, just like the 2D picture that's been serialized. OTOH, because we tend to view code in a two-dimensional form, and even rely on line breaks and block indentation to make code readable, I can understand people thinking of code as 2D. We can rely on it because the 2D aspect is there in structured code, even if the compiler doesn't force this layout. And there are languages in which the code structure is inherently two-dimensional, e.g. Befunge. Even Befunge can be translated to a universal Turing machine, which is a linear tape.
Re: Dimensionality of program code
On 01/19/2013 01:01 PM, Stewart Gordon wrote: But does "plot" mean the curve or the whole diagram? The whole diagram. I think this should be obvious. The point is the plot is defined in 2 dimensions, even if the curve is only 1, and our language reflects this. The program structure is not defined by this layout. It's defined by the curly brackets. And the curly brackets represent structure, which has some inherent 2D properties. That programmers can universally use the 2D representation of this structure meaningfully goes beyond just some arbitrary tokens. But the whole essence of a picture is that it's two-dimensional. In a D program you can escape all line breaks within strings, cut out all comments (or turn all // comments into /*..*/ comments), and then remove all line breaks that remain, and it will still be essentially the same program. You can't do that with a picture. Sure I can. Just serialize the picture into ones and zeroes, as happens all the time on a computer. The computer doesn't care that it's been serialized, and can operate on it as is. However, the user cares about the 2D visualization, just like the programmer cares about indentation and line breaks. This is my last post on the topic.
Re: Dimensionality of program code
On 01/21/2013 07:03 PM, Stewart Gordon wrote: So in your mind, a 2D image is not a picture, but just a representation of one? And if you cut that image up into 5 rows of 6 blocks, rearrange them into 3 rows of 10 blocks and glue them together, the result is the picture as much as the original is? You can choose to believe that if you want. But most people wouldn't. OK, I did say I was done with the topic, but here you are assigning derogatory beliefs to me which I don't hold. I never said you could rearrange the picture willy-nilly, merely that it can safely and *usefully* be serialized. Displaying a rearranged picture as you describe would be as invalid as doing the same to some code. Now it is true that typical curly-brace languages don't require you to indent your code properly, but the fact that block-structured code leads to a natural and universal 2D representation (to an approximation, ignoring stylistic rules like tabs/spaces) has just as much validity as the 2D representation of a picture, and why I dispute the notion that block-structured code is "linear". Now I really am done, regardless of what you write next.
Re: @property - take it behind the woodshed and shoot it?
On 01/27/2013 09:26 AM, Andrei Alexandrescu wrote: Language adoption is a complex phenomenon with many variables, and it's easy to neglect certain aspects when assessing the impact of others. Indeed it is, as you show below. Java started as a well-designed language albeit small and underpowered. It enjoyed the benefit of unwavering support from a large corporation and an estimated one billion dollars in marketing budget. (I remember in 1998 non-programming managers in NYC were talking "we must adopt Java!" without even knowing what Java meant. Java may as well be the only programming language in history to enjoy management support before programmer support.) First off, where do you get this billion dollar marketing figure from? I've seen it from you before, with no citation, and could find no such citation myself when doing a Web search. Second, Java was a "right place, right time" language. It was initially pegged for consumer devices, and was part of a bid to get cable company adoption for a TV add-on device, but when that fell flat it occurred to them the Web was a good fit. It was (in theory, but not in practice -- Flash ended up winning the browser), the hype machine exploded, and the rest is history. For example, if you read this article here: http://vidlar.powweb.com/internett/the-java_net/history.html ...you'll see their growth was fairly organic. Yes, I'm sure they had a marketing budget, but I highly doubt that in 1998 they were spending $1 billion. That has caused Java to evolve quite differently from languages with grass-roots support (e.g. C++, Ruby, PHP, or Python). Generally the latter languages grew with little tooling support aside from the traditional Unix toolset, and that is to some extent reflected in the languages themselves. One thing you're missing about Java is that because of it's simplicity of design and static typing, it was so easy to write tools for. No crazy macros or templates, and lots of type information. The same goes about C#, which was designed from day 1 assuming resources are available for dedicated tooling support. It would have evolved differently otherwise, and I assume many people would have a dimmer view of either Java or C# if they had to use it with vim and emacs. That may be true for C#, but in the early days for Java I don't recall an IDE out of the box from Sun. For many it was emacs or whatever, then there was JBuilder (from Borland), and then IBM and IntelliJ, etc.
Re: IOC is inside Clang-head
On 01/30/2013 07:48 PM, H. S. Teoh wrote: If you're somewhat familiar with the details of the C standard, you'll realize that a laughably large percentage of C code currently in use is actually invalid C (either due to undefined behaviour, or incorrect reliance on sizeof(char)==1, or a whole bunch of other obscure rules that most C programmers aren't even aware of). The C standard defines sizeof(char) to be 1. By the way, I learned this fact many years ago when reading the book, "C: A Reference Manual", from Harbison and Steele, which I recommend highly for anybody serious about C. It dispelled a lot of mysteries surrounding C for me that were left by other books, and I've used it countless times as a reference.
Re: Migrating dmd to D?
On 03/07/2013 01:03 PM, Kagamin wrote: According to distrowatch Ubuntu and Mint are more popular than Debian, and Ubuntu allows proprietary software like Opera browser and Nvidia drivers, so dmd won't be a problem too. Why Debian policies should be an issue? Both Ubuntu and Mint are based off of Debian, so if you get on Debian you get on those and many Debian-based others as well. Besides that, Debian is more popular with hardcore developer types that will help push adoption. And finally, while I think it's a shame that the reference compiler is proprietary, Debian has a non-free repository that DMD can be placed on as long as the binaries are redistributable.
Re: Disable GC entirely
On 04/09/2013 04:43 PM, Nick Sabalausky wrote: - Starcraft?: Starcraft is 15 years old, so it isn't an example of a modern AAA title in the first place. StarCraft II came out a few years ago and sold very well. They also just released the second installment of it within the past month or so, and considering it is essentially an over-priced expansion pack, it also sold very well. In the ones I identified as "interactive movie", cinematic presentation deeply permeates the entire experience, gameplay and all. Translation: Wearing your gumpy-old-man goggles, you dismiss games that feature lots of cinematics as "interactive movies", even though there is plenty of core gameplay to be had. There *are* games that are essentially interactive movies, like Heavy Rain for example, or LA Noire, but putting shooters like BioShock Infinite or GTA (when doing the missions) in this category is ridiculous.
Re: Disable GC entirely
On 04/10/2013 01:14 PM, Nick Sabalausky wrote: Well yea, Quantic Dream goes WAY off into the "interactive movie" realm. Because that's what the game is. There's nothing wrong with it if you like it, and many people do. Keep in mind, I'm using "interactive movie" largely for lack of a better term. "Videogame" definitely isn't the right word for them. They're games, and they use the video medium. Video games. The rest of your post is mostly just a rant about what you personally like in video games/"interactive movies". You are of course entitled to an opinion, but the grumpy old man ranting gets old.
Re: Disable GC entirely
On 04/10/2013 04:44 PM, Andrei Alexandrescu wrote: FWIW there's this Neal Stephenson novel "Diamond Age" taking place in the future. That book's vision is that all modern movies are "ractive" (short from "interactive") using networked real players and a loose script, whereas old movies are "passive"s and only watched by a few older people. Personally I don't think passive movies will ever go away. Many times you just want to relax and view the story instead of being part of it. People have been pitching "interactive TV" for a very long time, but passive TV still dominates.
Re: Disable GC entirely
On 04/10/2013 05:22 PM, Nick Sabalausky wrote: For many (admittedly, not all) of them, I really don't believe "games" is an accurate term (Don't misinterpret that into a statement of "Only true 'games' are legitimate" because I never said such a thing.) But that's essentially what you *are* saying by downplaying the gameplay that lies at the heart of the "interactive movies" you've used as examples. It's the "No True Scotsman" fallacy. Let's take a statement from your original post: "Modern AAA/big-budget titles are interactive movies, not videogames, because their focus is story, dialog and cinematics, not gameplay." Which is untrue when it comes to games like BioShock or GTA. At the end of the day both games are mostly shooters along with other gameplay elements (like driving in GTA), and you will spend most of your time playing the game and not watching cinematics. I gave you a canonical example of what would be an interactive movie, and you tried to wave it away because it really was an interactive movie. It might be a bad thing if the industry focused too heavily on them, but that would be a completely different complaint. Which has been the essence of your complaint, based on how games used to be and your particular tastes, sounding a lot like a grumpy old man who thinks the industry is suffering because they don't make them like they used to: "Maybe I'm just projecting my own tastes into this, or maybe this is just because I don't have sales/profits/etc charts for the last 10-20 years to examine, but lately I'm finding it difficult to believe that "AAA" games aren't becoming (or already) a mere niche, much like high-performance sports cars. (Ie, big money, but small market.) Part of this is because, as I see it, the "big/AAA games" *as they used to exist* up until around the early 2000's don't seem to be around much anymore." And really, is it so damn horrible to have and voice a negative opinion on something? Not at all, but when the constant refrain is grumpy-old-man ranting, it is pretty horrible.
Re: Disable GC entirely
On 04/11/2013 04:17 AM, Nick Sabalausky wrote: No, you're just very persistent in trying to turn it into the "No True Scotsman" fallacy. I'm merely using terminology to distinguish between story-driven titles and gameplay-driven tiles. Then you could call them "story-driven games" instead of "interactive movies", and also acknowledge that the gameplay element is still a strong component. Your insistence on denying the massive amounts of gaming elements that are still part of these titles shows you have an ax to grind, backed up by the fact that you even started your argument by saying your personal tastes may have been informing your theories. So we disagree on the categorization of a few titles. Big freaking deal. Since it's the heart of your argument, it is a big deal. Yes, obviously Heavy Rain is a canonical example of "interactive movie", and for goodness sake, I *AGREED* with you and yet you're still complaining. You just have a funny way of agreeing, what I'll call disagreeable agreeing. Oh for crap's sake. Yes, newer AAA/big-business games, on average, *do* direct significantly more of their emphasis on story/dialog/cinematic feel/etc than older ones. Yes, there's no doubt about that, and do you know *why* they do this? It's because, just like movies, these big budget cinematic games tend to sell a whole lot more, both in quantity and dollar volume. And just like the movies, it's also a big risk. But they are still games, and it's the gamers who flock to these blockbuster titles. As an aside, the interesting thing about GTA, especially GTA3, is that the budget wasn't about the movie elements, of which there were few. It was about creating an immersive *environment*. It's really the artwork that costs so much money. There was also a story arc, but you can find stories in games going back decades. As to why the industry is "sick", in Manu's terms, it's probably just competition with other forms of entertainment given the mobile explosion. The games industry did very well post 2000, despite the move to cinematic experiences. And now you come along, slap the big generic "grumpy old man" "don't make them like they used to" labels over the whole thing, and now I'm supposed to believe not only that your "poisoning the well" tactics somehow *aren't* a logical fallacy, but also that I'm the one being categorically dismissive? Yet your pet theory does amount to how they don't make them like they used to, and maybe that's the reason the industry is failing, which sounds a lot like a grumpy-old-man complaint, doesn't it? Along with your usual ranting, of course. Last post for me.
Re: new documentation format for std.algorithm
On 02/03/2011 06:15 PM, David Nadlinger wrote: This is exactly the issue I was talking about, using relative font sizes in their current incarnation doesn't solve any problems per se. It does, as I explained in my other post to you. Repeating an assertion is not a logical argument. Also, it's precisely the point where one's ideal conceptions and reality differ. Just imagine what would happen if Wikipedia used a font-size of 1: Millions of users would complain that the body copy is way too large for something encyclopedic in nature. Imagine if they used a font-size of 1 and hardly anybody complained. You just made up some crazy number. I'd like to know exactly why Wikipedia chose the font size they did. I looked around and couldn't find any reason for it. They did at one time do a usability study, but it didn't mention anything about font sizes. I'm willing to bet this decision was poorly made by scant evidence and personal preference of a few. In the end, web development is not about constructing an ideal(istic) world, but about catering end user needs. If you can unite the two goals, that's great, but ignoring reality usually doesn't quite work out well… Exactly so, but the problem is that a certain set of web designers have fooled themselves into a fantasy that they have actually come to some practical solution by settling on "standard" pixel sizes, when they have chosen a solution that cannot work and fails in practice. At least when you use default sizes and flow layout it works in a usable manner, meaning zoom works properly and the text should be at a readable size. It also allows for an approach where at least a user has a standard way to display their preferred font size by default instead of by the whims of some designer who treats the web as a print medium.
Re: new documentation format for std.algorithm
On 02/04/2011 11:38 AM, David Nadlinger wrote: I tried to explain the issue to you, but you have been quick to dismiss any attempt to do so based on your own opinion. You've made silly arguments about opinion yourself, stating that a million Wikipedia users would complain if the default font setting was used. That was what you came up instead of responding to a detailed argument from me. Pure intellectual laziness. You've completely ignored the problems of the variety of real-world resolutions, monitor sizes, and preferred font sizes. You've ignored the problems caused by designs that do not flow, especially as it relates to zoom. You've ignored the fact that relative fonts and flow layout do not have this problem. You're advocating that people's explicit preferences should be ignored in favor of designers who think the Web should act as a print medium. You've ignored the fact that the Web was explicitly designed to not be such a medium, and in practice cannot be due to the myriad of devices connected to it. maybe you'll also discover that the designers of the most frequented sites aren't exactly complete dorks either. I've seen tons of designs by high-profile sites, and many are pointlessly broken for me. I've seen them redesigned after having been in a workable state and then made broken by an obsession of pixel-based layout. The problem is these designers are control-freaks and don't understand the Web.
Re: std.xml should just go
On 02/03/2011 10:07 PM, Walter Bright wrote: The way to get a high performance string parser in D is to take advantage of one of D's unique features - slices. Java, C++, C#, etc., all rely on copying strings. With D you can just use slices into the original XML source text. If you're copying the text, you're doing it wrong. Java's substring() does not copy the text, at least in the official JDK implementation. Unfortunately, it doesn't specify this behavior as part of the String API.
Re: std.xml should just go
On 02/06/2011 05:43 AM, Jacob Carlborg wrote: On 2011-02-04 21:44, Jeff Nowakowski wrote: Java's substring() does not copy the text, at least in the official JDK implementation. Unfortunately, it doesn't specify this behavior as part of the String API. But, I assume, it will allocate a new instance of String even though the content point to the same data? Yes, but small objects in Java are very fast to allocate and garbage collect.
Re: D vs Go on reddit
On 02/10/2011 10:08 PM, Nick Sabalausky wrote: Regarding Java 1.3/1.4: They may very well have been closer to 1.2 than they were to 1.5/1.6 (I wouldn't know), but IIRC 1.3 was when it finally started to give people little bits of suger (ex: foreach). 1.5 was when Java got foreach, generics, and enum. I don't think there were any syntactical language changes before that. Previous version updates were mostly about libraries and frameworks.
Re: Stupid little iota of an idea
On 02/11/2011 11:14 PM, Jonathan M Davis wrote: If anyone tried to use iota to actually mean something as a variable or function name, I'd be suggesting that they pick a better nam. So you're saying you don't like Andrei's chosen name? ;)
Re: Integer conversions too pedantic in 64-bit
On 02/18/2011 08:39 PM, Walter Bright wrote: Huge? How about it never occurs to Vader to search for Luke at the most obvious location in the universe - his nearest living relatives (Uncle Owen)? That's just the start of the ludicrousness. Ok, I have no right to be annoyed, but what an opportunity (to make a truly great movie) squandered. Lighten up, Francis. It was a truly great movie, for it's time.
Re: [OT] Spaces/tabs (Was: simple display (from: GUI library for D))
On 06/03/2011 02:48 PM, Walter Bright wrote: In the beginning, God created tabs. Tab stops were 8 spaces It's 2011. The idea that some character means 8 spaces and should be used to layout code is ass-backwards, regardless if everybody actually followed that rule. It was a fine rule for 1960.
Re: Port a benchmark to D?
On 06/04/2011 04:25 AM, Walter Bright wrote: On 6/3/2011 1:24 PM, bearophile wrote: The Ada language has a syntax to write those names at the closing ends, and the Ada compiler enforces such names to be always coherent and correct. In C/C++/D unfortunately such names (written as comments) may go out of sync. I never understood the point of such. My editor has a single key "find matching { [ < ( ) > ] }" command, and so I never have a need for such ugly comments. In fact I usually delete such comments when I encounter them. I thought you were big on printed out code reviews and not requiring any editing features from the language?
Re: Growing pains
On 05/03/2012 10:50 AM, Andrei Alexandrescu wrote: Just letting you all know we're working on the frustrating and increasingly frequent "Load at xx.xx, try again later" errors when reading this forum through NNTP. They are caused by a significant growth spurt in newsgroup readership that occurred in recent times. We are working with our provider to fix these issues. Out of curiosity, can we get some numbers on the number of concurrent users that are causing the problems? I'm surprised that a modern machine would have trouble keeping up with newsgroup traffic. I figure it is either broken software or the machine is actually busy doing something else.
Broken newsgroup threading (was: Re: An observation)
On 05/03/2012 06:07 AM, Tobias Pankrath wrote: Does the D newsgroup have broken threading in mutt? In my client threading breaks often because some answers starts new thread etc. makes the hole thing useless. The broken threading is caused by the Mailman newsgroup to mailing list gateway, as described in this post: http://forum.dlang.org/post/akftpzpkwuoqmfzij...@dfeed.kimsufi.thecybershadow.net I was looking briefly at this issue recently, as it was getting annoying to follow the large threads in my newsreader, and it seems to me that the Mailman stance of changing the Message-ID is wrong. They claim they are just trying to follow the RFCs by generating their own unique ID, but reading RFC 2822 makes it clear that they are misguided: "The uniqueness of the message identifier is guaranteed by the host that generates it (see below)." My comment: In other words, they shouldn't be assuming responsibility for this. "Note: There are many instances when messages are "changed", but those changes do not constitute a new instantiation of that message, and therefore the message would not get a new message identifier. [..] The addition of such header fields does not change the identity of the message and therefore the original "Message-ID:" field is retained. In all cases, it is the meaning that the sender of the message wishes to convey (i.e., whether this is the same message or a different message) that determines whether or not the "Message-ID:" field changes, not any particular syntactic difference that appears (or does not appear) in the message." My comment: Making the intention of the Message-ID clear, and in fact by generating a new one they are working against its purpose. I found two Mailman bug reports with patches regarding this issue: https://bugs.launchpad.net/mailman/+bug/266263 https://bugs.launchpad.net/mailman/+bug/496233 I may or may not follow up on this with the Mailman folks. If somebody else wants to feel free.
Re: Does D have too many features?
On 05/07/2012 03:22 AM, Andrew Wiley wrote: I had some problems with floats being default initialized to NaN. That's still correct behavior for C, actually. Using an uninitialized variable in C results in undefined behavior, so D still complies with C requirements when it initializes floats to NaN. For variables with static storage, C initializes them by default to zero. It's in the spec.
Re: Rust updates
On 07/11/2012 03:50 PM, Walter Bright wrote: On 7/11/2012 11:54 AM, David Piepgrass wrote: That reminds me, I was so happy the first two times I got an undefined symbol error in D. The compiler said: "Did you mean ''?" LOL, don't tell me how it works... it's magic, right? I love a good error message. I added a spelling checker to the undefined identifier code, using the variables in scope as the dictionary. It's a fun little nicety. I remember you took some heat for this because of compiler slowdowns, as well as a public admonishment from Andrei because it wasn't a priority. Must be nice to get some positive feedback on it :)