![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 3/13/2012 3:11, Invisible wrote:
> just runs the downloader for the /real/ installation program.
At least MS gives you a choice. They do that because you can pick to
download C++, C#, the IDE, and the SQL server, and it'll download just the
parts you need without duplicating them. Plus it downloads the right version
for your OS, etc.
> business. Now, I'm not saying NetBeans is /inefficient/, but swallowing
> 200MB of RAM just because I double-clicked the icon to open the IDE does
> seem /just a tad excessive/ to me.
Only 200? I think the Eclipse at work takes 550M to 600M to start up.
> trying to actually /do/ stuff, the IDE seemed unacceptably unresponsive.
Try Eclipse. Try pasting a comment from one part of the file to the other
making it go "unresponsive" long enough that Gnome asks if you want to kill it.
> (Apparently there's an Ant
> script somewhere too... whatever the hell that is.)
It's an attempt at improving Make without actually fixing the major problems
with Make.
> Or rather, I'm impressed at the IDE. Implementing array copying as a static
> method on a general utility class? Yeah, /that/ sounds like fantastic OO
> library design! :-P
Wait until you get into the generics, where you do things like turn a list
of Freds into an array of Freds by invoking
fredList.toArray(new Fred[]{});
i.e., by passing an empty array of Freds to the function in order to pick
the right generic to return. Yes, you actually put an empty array on the
heap simply to pass compile-time type data to pick the right method in a
language that supports generics. Because there's no syntax for
fredList.toArray<Fred>();
> the program. VS did all of this and more. :-P
Over the weekend, I wrote a program to take a couple CSV files, munge them,
and stick them into some XML I could pull into the tax authority's forms, in
C#. It was like surfacing from under quicksand to use VS instead of
Eclipse. I hadn't realized just *how* much Eclipse kills me at work compared
to something designed by CHI experts instead of hackers.
I have a big text file with all my Eclipse hates on my desktop, just keeping
track for a good rant some day.
> So there we are. I doubt I'd remember much about the AWT (although, didn't
> they deprecate that in favour of Swing?),
Yes, in spite of promising on day 1 that they'd never do that.
--
Darren New, San Diego CA, USA (PST)
People tell me I am the counter-example.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 3/13/2012 14:24, nemesis wrote:
> older Windows? anyway, .NET does not count when looking at the memory
> statistcs of a program that uses it. It's "part" of Windows. That's why you
> look at VS and it looks fine.
I'm pretty sure that's not true. What *is* true is that .NET DLLs load as
shard DLLs, and java .class files can't do that, since they're data.
--
Darren New, San Diego CA, USA (PST)
People tell me I am the counter-example.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 3/13/2012 21:32, clipka wrote:
> Try Eclipse. Somehow it seems to be the unofficial standard IDE. (Never
> tried it myself in depth though; it has that very special
> Open-Software-Project air about it that somehow makes my skin crawl ever
> since I tried OpenOffice for real.)
It's not only that, but it's also a whole plug-in mentality.
You go to the project explorer with the tree view of your project's classes.
You double-click a class to open it. You type Ctrl-F and start typing the
name of the method you're looking for. What do you think happens? If you
answer "Well, the focus was left on the project explorer because Eclipse is
so modular it doesn't know where to put the focus, so your search string is
in the wrong window", give yourself a cigar. If you continued "... and so
you now have to click *three times* in the class window to change focus,
once to close the search box in the project window, once to put the focus in
the class window, and once to put it in the edit pane of the class window,
and *now* you can type Ctrl-F", you may light your cigar.
> Anyway, I personally stick to IDEs developed by software development
> companies (and I mean companies that develop other stuff besides programming
> languages and IDEs). So far the best IDE experience has been Visual Studio
> for C#. One might snarl at the company's marketing strategies, but they seem
> to know what helps software developers to be productive.
Indeed. Or use an IDE by a group that actually has a CHI/UI expert on board.
--
Darren New, San Diego CA, USA (PST)
People tell me I am the counter-example.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> You know, people say "oh, Java isn't slow". And then this happens...
>
> It's one of the fastest languages on the shootout game.
1. Micro-benchmarks are one thing. Large applications are another.
2. It seems the fastest is actually Fortran. (?!) Followed by C++.
Followed by C. Followed by ATS and ADA. Only then do we get to Java, at
70% slower.
(Mind you, Haskell is sitting there at 180% slower, so...)
>> Also, about this "Windows comes with the .NET libraries". If that's
>> so, then why did I have to wait 20 minutes for it to download .NET
>> when I installed it?
>
> older Windows? anyway, .NET does not count when looking at the memory
> statistcs of a program that uses it. It's "part" of Windows.
> they play dirty.
No, I'm pretty sure that's not correct.
The .NET libraries probably show up as shared RAM rather than private
RAM, but they do still show up.
>>>> (x -> y -> z) -> x -> (j -> y) -> y -> z
>>>
>>> haha, you already new that from the haskellwiki. :p
>>
>> Erm, no... It's a simple question of type inference.
>
> I prefer to leave that to the compiler or interpreter.
Alrighty then.
http://tryhaskell.org/
> :t ((.)$(.))
:: (a -> b -> c) -> a -> (a1 -> b) -> a1 -> c
Easy.
> Better yet, I prefer not to think of types. :)
A Haskell programmer not thinking about types is like an assembly
programmer not thinking about processor registers. It is nonsensical.
>> I mean, c'mon, it's not exactly a complicated code fragment. It's two
>> function calls.
>
> two function calls that take other functions and return other functions
> and ... well, you get the idea.
Quite. I'm still waiting on the "who the hell writes code like this
anyway?" part.
> BTW, I looked up my post and indentation was fine. But anyway, it's the
> pidigits haskell program at the shootout:
Ah yes. The great language shootout. An elaborate benchmark for
measuring how many hackers are available to work on each programming
language. ;-)
>> Wait - there are open-source Java libs now?
>>
>> (Last time I looked at Java, all anyone ever used it for was pointless
>> Tic-Tac-Toe applets. Nobody ever wrote actual large applications with
>> it, just small toy examples.)
>
> Earth to Andrew, Earth to Andrew! An import message has been delivered:
> this is not 1964 anymore.
Well, given that Java 1.0 dates to 1995, nobody would be arguing about
Java back in the 60s. :-P
> Hint: Apache once was a (patchy) http server. Now it's one huge java shop.
Hint: When anybody says "Apache", they almost always mean "the Apache
web server". Few people seem to realise that the Apache foundation even
/make/ anything else. That's how popular their other stuff is.
> After Microsoft shoved Java away from the desktop, it hid on the server
> (where it shoved Perl away).
It is also news to me that Perl has gone anywhere but up. :-P
>>>> Oh well. At least you don't need tab characters. :-P
>>>
>>> says the haskell programmer... :p
>>
>> What? Tab characters are explicitly disallowed in Haskell. :-P
>
> except where needed.
Um, no. If your source file contains any tab characters, the compiler
spits out an error message and refuses to compile it.
> I prefer proper free-form parentheses. :)
OK. So turn off the layout rule. :-P
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 14/03/2012 04:53 AM, clipka wrote:
> Am 13.03.2012 21:37, schrieb Orchid Win7 v1:
>
>> Wait - there are open-source Java libs now?
>>
>> (Last time I looked at Java, all anyone ever used it for was pointless
>> Tic-Tac-Toe applets. Nobody ever wrote actual large applications with
>> it, just small toy examples.)
>
> You've never heard of Java enterprise application servers, have you?
I've heard of them - but I have no idea what the hell they are. Last
time I checked, "enterprise" refers either to NCC-1701-D, a galaxy-class
starship of the United Federation of Planets, or to a piece of software
which is pointlessly over-engineered, over-complex, over-priced, and
sold by pushy over-paid salesmen in bad suits.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> That's not even parsable. (Indentation is significant, remember?)
>
> Yuck - I hate it when languages do that.
I thought I would hate it... but when not used in insane ways, it
actually works quite well. I mean, most programmers indent stuff
sensibly /anyway/, so having it be significant just means that you can
avoid having to type a few extra delimiters.
...except in those handful of cases where how /you/ want to indent
doesn't match what the compiler wants. /Then/ it becomes annoying.
>> Darren claims they committed to a feature freeze too soon. I don't know
>> about the low-level details of the JVM. But I gather that, say, adding
>> Java generics required lots of ugly hacks so it didn't break
>> compatibility.
>
> Guess how many ugly hacks C++ relies on to not break compatibility with
> classic library formats...
Well, yeah. But nobody tries to claim that C is a good programming la...
oh, wait.
>> I hear there are other languages that target the JVM. Presumably you
>> still can't use any of the existing libraries though. (Not that any of
>> them are much good.)
>
> The fun is that you can. The bane is that you might have to.
LOL!
>> Oh, Haskell? Yeah, I gather a few people have tried to target the JVM
>> with it. Nothing production-grade currently exists, however.
>
> Is there any such thing as a production-grade Haskell implementation?
Sure. Several companies are using GHC to produce mission-critical (and
often security-critical or even safety-critical) production code.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> Anyway, I personally stick to IDEs developed by software development
>> companies (and I mean companies that develop other stuff besides
>> programming languages and IDEs).
>
> Indeed. Or use an IDE by a group that actually has a CHI/UI expert on
> board.
You know, I spent an entire semester studying "human-computer
interaction" without once comprehending WTF the subject was supposed to
be about. Perhaps if they'd made us use NetBeans and then compile a list
of all the things that are wrong with it, /then/ we would have understood...
Although... Zimin Wu /did/ look like he was actually a stage magician. I
kept expecting him to be like "and, arh, here we have arh typocarh
usarh, and arh, here we have A FLOWER!" and rip a big bunch of paper
flowers out of his sleeve. But, weirdly, he never actually did this...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 14/03/2012 07:14 AM, Darren New wrote:
> On 3/13/2012 3:11, Invisible wrote:
>> just runs the downloader for the /real/ installation program.
>
> At least MS gives you a choice. They do that because you can pick to
> download C++, C#, the IDE, and the SQL server, and it'll download just
> the parts you need without duplicating them. Plus it downloads the right
> version for your OS, etc.
Usually if you hunt around the MS site, you can find the "network
administrator" download, "for IT professionals", which /actually/
downloads enough data for offline installation. Because, let's face it,
only an IT professional would have the technical skill to know that
there's a difference between downloading an installer and downloading a
downloader for an installer... oh, wait.
> Only 200? I think the Eclipse at work takes 550M to 600M to start up.
> Try Eclipse. Try pasting a comment from one part of the file to the
> other making it go "unresponsive" long enough that Gnome asks if you
> want to kill it.
Oh, that's cute. No wonder I hear nothing but good things about
Eclipse... I gather there's even a Haskell plugin for it. (I bit it
doesn't /do/ anything though.)
>> (Apparently there's an Ant
>> script somewhere too... whatever the hell that is.)
>
> It's an attempt at improving Make without actually fixing the major
> problems with Make.
Well, they fixed /one/ major problem: Text processing tools which turn
tabs into spaces. ;-)
> Wait until you get into the generics
Uh, yeah.
It seems either they implemented everything twice (once with, and once
without generics), or it's actually legal to not specify type parameters
and then they default to Object. Which, either way, is highly
counter-intuitive...
> It was like surfacing from under quicksand to use VS
> instead of Eclipse. I hadn't realized just *how* much Eclipse kills me
> at work compared to something designed by CHI experts instead of hackers.
I don't know about CHI experts - more like unpaid beta testers. ;-)
> I have a big text file with all my Eclipse hates on my desktop, just
> keeping track for a good rant some day.
And by "rant" you of course mean "shotgun rampage"? ;-)
>> So there we are. I doubt I'd remember much about the AWT (although,
>> didn't they deprecate that in favour of Swing?),
>
> Yes, in spite of promising on day 1 that they'd never do that.
Ah, but did they formally deprecate it, or just "strongly encourage you
not to use it"? ;-)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 14/03/2012 05:48 AM, clipka wrote:
> (For non-virtual classes it is good practice to define a protected
> non-virtual destructor instead, just to be sure.)
Is it wrong that whenever I read a sentence like this, I can hear a
voice say "nuke it from space - it's the only way to be sure"?
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> That's all fine and logical and everything, but there's a nasty snag:
>> Now you have to care about memory management. And there's no way
>> around it.
>
> Forget all you know about classic C pointers;
That shouldn't take long. :-P
> Note that the dispose is gone for good. Shared pointers use reference
> counters to accomplish this feat.
Every time I hear somebody say this, a part of me wants to scream "you
/do/ understand that reference counting doesn't actually work, right?"
> There's nothing "incorrect" about that way of placing braces, even in
> C++. It's syntactically correct, so say what you will.
Writing the entire program in one source file on a single 435,235,342
character line is "syntactically correct". But no sane programmer would
ever do such a horrifying thing. :-P
> The JAVA API has a rich history of deprecating interfaces, deprecating
> interfaces designed to replace deprecated interfaces, and un-deprecating
> deprecated interfaces. I wouldn't be surprised if AWT was among the latter.
Oh yes. I don't remember the names exactly, but I can clearly remember
how one release of Java had BufferedInputStream and friends. And then in
the next release, they deprecated that and gave you BufferedReader
instead. And then in the next release, they deprecated BufferedReader
and UNdeprecated BufferedInputStream again. (Pro tip: You should /never/
need to UNdeprecate something!)
Of course, when I was using Java, it was still quite new. I'd be
interested to know whether the libraries eventually settled down and
they stopped doing crap like this, or... ?
> Try Eclipse. Somehow it seems to be the unofficial standard IDE. (Never
> tried it myself in depth though; it has that very special
> Open-Software-Project air about it that somehow makes my skin crawl ever
> since I tried OpenOffice for real.)
Hahaha. "That special OSS air". Yep, NetBeans has that. I don't know
whether it's the cute but poorly-drawn icons that seem bigger than
necessary. Or the slightly odd grouping of user preferences. Or the way
that different parts of the IDE contradict each other as to the current
status of the code, because each part is out of date by a different
amount...
> Anyway, I personally stick to IDEs developed by software development
> companies (and I mean companies that develop other stuff besides
> programming languages and IDEs). So far the best IDE experience has been
> Visual Studio for C#. One might snarl at the company's marketing
> strategies, but they seem to know what helps software developers to be
> productive.
I don't know about "what helps software developers to be productive"...
How about "what makes software developers buy our product rather than
somebody else's"? Or even "what makes software developers develop for
our platform rather than somebody else's"? ;-)
The entire MS business model fundamentally depends on getting everyone
to use the MS platform, and then be locked in. Well, if your platform
has naff-all software for it, nobody will buy it. But if your platform
has all the best stuff, people will pay. And then be trapped. So it pays
(literally) to make it easy for people to write code for your platform
and only your platform. >:-D
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |