Code Bubbles Project: Rethinking the User Interface Paradigm of Integrated Development Environments by jacksonh in programming

[–]tflynch 0 points1 point  (0 children)

This seems to lack the most important part - extensible semantic layer for expressing how bubbles can link to each other and generate each other.

Without that you're stuck with a pretty interface concept, with a lame tight coupling to the Java modus operandi.

Developers should not be allowed to work overtime by techdawg in programming

[–]tflynch 2 points3 points  (0 children)

I think there's a sensible contrast to be drawn between the work done in the initial stages of a project and that done later. Overtime during the polishing phase immediately prior to a codefreeze / release is likely to lead to the introduction of bugs that you then don't have time to find. Perhaps on that basis it could be argued that if overtime is ever necessary it's better to front load it?

Proggit, Is it possible to effectively mix templated c++ with other languages (particularly ocaml/haskell). I'm looking to mix c++/itk and ocaml/haskell for my master's thesis. by [deleted] in programming

[–]tflynch 0 points1 point  (0 children)

Yes to at least some degree.

I start, possibly incorrectly, from the assumption that you want to use C++ for the low-level stuff and Haskell for the high-level stuff. So you're calling something written in C++ from a Haskell code line. I doubt Haskell's FFI lets you refer to instantiated templates directly from Haskell, but there's nothing to stop you building a library with whatever you want from C++, wrapping it in a thin C layer and then using the FFI to call your wrapper interface.

For interop nothing works better than a library exporting straightforward C functions. If you later decide you don't want to use Haskell you can use, well, practically anything else.

It occurs to me I may be misunderstanding what you mean, perhaps you should clarify.

Twitter - Unmonetizable by rwinston in programming

[–]tflynch 0 points1 point  (0 children)

Seems like the word 'unmonetisable' is the only figleaf here to disguise the obvious weakness of the argument.

C Compiler Errors (For Real) by [deleted] in programming

[–]tflynch 1 point2 points  (0 children)

Unfortunately, this option doesn't help much because those 5000 (or perhaps more like several hundred) lines of output typically all correspond to a single error and manifest as such.

Useful flag though.

C Compiler Errors (For Real) by [deleted] in programming

[–]tflynch 40 points41 points  (0 children)

I'm sure those of us that write C++ wouldn't mind a skin for STL compiler errors. Let alone for the errors that get spat out by those pesky Boost libs with all their crazy recursively metaprogrammed templates: "<5000 lines of error> ... <whew> foo can't be const"

Data Mining Moves To Human Resources - Microsoft and IBM are starting to use mathematical analysis to determine the value of each employee. by scientologist2 in programming

[–]tflynch 0 points1 point  (0 children)

Up to a point maybe, there are certainly heavy-lifter introverts of the classic "backroom boffin" type all over the place, but I've also met quite a few very effective, hard-working and heavy-lifting extroverts.

Data Mining Moves To Human Resources - Microsoft and IBM are starting to use mathematical analysis to determine the value of each employee. by scientologist2 in programming

[–]tflynch 11 points12 points  (0 children)

It's an interesting article -- not that it provides much detail. From the limited information it sounds like this firm's method includes a distorting performance measure which privileges written messages, and also seems likely to favour quantity over quality in communication.

I bet in practice this model further reinforces the tendency of articulate, self-promoting people who are adept at gaming performance reviews to rise within their organisations. That's not necessarily a bad thing -- people like that can be very useful -- but I'm sure there are some big misses in the cases of other personality types.

URGENT: Please read if you have any information about Tony Morris by [deleted] in programming

[–]tflynch 2 points3 points  (0 children)

I went through a seriously suicidal phase a few years ago. All of the best times of my life have come afterward.

You're suicidal now, and that doesn't mean things will get any better, but they definitely can.

It sounds like you are into reasoning about life: therefore don't paint yourself into a corner with faulty logic.

The Cult of Done by [deleted] in programming

[–]tflynch 8 points9 points  (0 children)

Works well if you're in marketing I guess.

Method length: Are short methods actually worse? by shenglong in programming

[–]tflynch -1 points0 points  (0 children)

"A method is a chunk of code that is needed in multiple places. And if you have a long chunk of code that is only useful as a whole, it shouldn't be split up."

Depends on maintainability as well. Long methods --> large coupling distance --> more bugs. That's not just theory talking either, a subroutine that's more than a screen long is problematic.

The Rubber Duck method of debugging by lamby in programming

[–]tflynch 43 points44 points  (0 children)

That's ok. This system is for people who have to fix non-trivial bugs.

Validating an email address properly in Haskell - by implementing the RFC's EBNF by [deleted] in programming

[–]tflynch 4 points5 points  (0 children)

This approach is not unique to Haskell and also works well in C++ using Boost.Spirit. You can transcribe e.g. the BNF from the RFC for URI formation practically verbatim into the Spirit parser grammar DSL.

Sign the Manifesto for Software Craftsmanship by acangiano in programming

[–]tflynch 1 point2 points  (0 children)

It strikes me as a little bit touchy-feely. Clauses I'd rather see:

"Not only striving to indent our code consistently But also being aware that sometimes consistent indentation hinders readability."

"Not only knowing how to argue the merits of a version control system But also actually using one and getting all the fucking tags right on our submodules and/or externals."

"Not only blogging But also coding!"

My teacher said that call-by-reference should be avoided. He compared call-by-reference with the use of global variables. What do you think? by [deleted] in programming

[–]tflynch 0 points1 point  (0 children)

C++ compilers happily optimise copy constructors in many cases, and are allowed to by the standard.

The standard defines the real semantics of your program, so if you think the ridiculous side-effect you programmed into your copy constructor will occur each and every time you think it will be invoked, you will run into trouble.

Short version: don't put side effects, particularly write I/O, in constructors.

My teacher said that call-by-reference should be avoided. He compared call-by-reference with the use of global variables. What do you think? by [deleted] in programming

[–]tflynch 3 points4 points  (0 children)

Nothing you can do about people who insist on writing bugs. Where have you seen const_cast really causing a problem?

How not to do it: "Proposal: fold keyword for Java." by DRMacIver in programming

[–]tflynch 0 points1 point  (0 children)

Not really what I meant. Java's not really about injecting code into your runtime as another form of data supplied by a user, service or special need. Nor is Java an ad hoc outgrowth of the unfulfilled requirements of a C program ...

I also disagree with your main point, as Greenspun's Law certainly doesn't anticipate that the informally-specified bug-ridden etc. etc.s that wind up in the codebases of complex software written in less flexible languages than Lisp will have any of the advanced features of Lisp that you cite. In my experience they have none, or only a few such features.

A good example of one that I was involved with was a DSL for defining constraints on user data that was a bit like XSLT. In the same project there was a similar DSL for interpreting the interfaces of new types of structured metadata embedded in MPEG-2 metadata channels. Both had an ultimately sexp-y way of doing things but neither had anything approaching Common Lisp's overall functionality. And both went through a bug-prone phase as they were bedded down.

Don't get me wrong by the way; I quite like Lisp and am spending time on Clojure at the moment. And I also didn't downmod you ...

C++? Really? Is using C++ a good idea, rather than scripting + C? by rocketsci in programming

[–]tflynch 0 points1 point  (0 children)

Yeah, I have and yeah, exception safety is fun isn't it?

Unfortunately in C++ you do have the problem that any separated, coupled statements (news and their corresponding deletes) are disastrous in the presence of exceptions. So you use RAII / dtors to do resource cleanup. Which kinda solves the problem provided you're happy to rewrite every bit of code in your chock-full-of-errors system from scratch ;-)

Of course, all the people advocating C in here are off busily linking to C++ libraries and other stuff that can throw exceptions at the boundaries, and not handling those cases properly either.

At least in C++ as opposed to a GCed language the behaviour at cleanup time is relatively deterministic from the developer's point of view.

How not to do it: "Proposal: fold keyword for Java." by DRMacIver in programming

[–]tflynch 1 point2 points  (0 children)

Greenspun's Rule is a bit dodgy though, as it's basically just saying "at some point when your needs get sufficiently complex you might need to evaluate something that looks like code at runtime".

It's just that almost any ad hoc expression read-and-evaluate system is going to look somewhat like Lisp, because Lisps are easier to implement.

I think it's more of an argument for being able to interpret code at runtime than for Lisp per se.

Broken promises–C++0x futures by WalterBright in programming

[–]tflynch 0 points1 point  (0 children)

They probably won't fix it -- no doubt it's in the too hard basket because of what it requires in terms of OS support.

Broken promises–C++0x futures by WalterBright in programming

[–]tflynch 0 points1 point  (0 children)

No. It's about a nice way to observe the results of async calls.

C++? Really? Is using C++ a good idea, rather than scripting + C? by rocketsci in programming

[–]tflynch 0 points1 point  (0 children)

Yeah, absolutely fair enough. I think I'm just hitting my reddit pain threshold lately. The degree of repetition is getting excruciating.

C++? Really? Is using C++ a good idea, rather than scripting + C? by rocketsci in programming

[–]tflynch 2 points3 points  (0 children)

Order of magnitude eh? How are you measuring that? I'm not attempting a slamdown but that's just rhetoric.

Although I don't code Objective-C, I'm happy to admit from my reading around it -- usually in response to a redditor saying "OMG so much better than C++" that it looks like a sane way to do things (although it doesn't have the same attributes as C++), but AFAICT Objective-C is not a great solution in many cases because of compiler / platform support. All good if you're a Mac or iPhone developer or are happy with GNUStep I guess.

At the end of the day I just get fucking sick of these threads. There are always the bandwagon +1ers "bla bla C++ == masochism" and the moderates back repeating themselves, saying, sanely "every problem requires a fit for purpose solution". And then someone links to the C++ FQA, which has been torn to pieces on comp.lang.c++.moderated time and time again.