HNHacker News
TopNewBestAskShowJobs

tangus

505 karma · joined June 22, 2010

submissionscomments
tangus··on Why use Pascal?
I disagree with some of their reasons.

Modern: Object Pascal isn't a modern language. It was modern in 1998, maybe, but it hasn't evolved much since then. Latest big change was the addition of generics, behind almost any other language.

Fast: FPC doesn't generate particularly fast code, and the nature of OP objects doesn't help with locality. It's faster than scripting languages, but generally slower than AOT compiled languages, even those with GC.

On the other hand, the ecosystem is great. There are lots of good libraries and tools (the most remarkable one being Lazarus, the Delphi clone). In my experience, people working with FPC or Delphi don't care much about modernizing the language or things like that, the just get things done (TM). I don't see the language being attractive to new coders though, so I don't know what its future will be...

tangus··on Reduce vs. Fold in Common Lisp
>Fold is also simpler than REDUCE since it does not have any special case, making it easier to reason about its behaviour.

If returning the initial value when the list is empty is considered a special case (or "surprising aspect") of REDUCE, then it's the same for FOLD, no?

tangus··on Logic programming is overrated, at least for logic puzzles (2013)
Sure, to solve a 5x5x5 puzzle we can test all 5!*5!*5! possibilities; it's faster than thinking it out. To solve a 7x7x7 one you'll need logic programming though.
tangus··on Had a call with Reddit to discuss pricing
Try this: https://old.reddit.com/r/all/.i

Unfortunately it doesn't keep across links.

tangus··on How did the chess pieces get their names?
I suspect every time the article says "why's that so? nobody knows!", somebody actually knows and they would have found out if they had researched a little...
tangus··on Lispy vs. Pseudo-English Syntax (1984)
This is the FOR macro he's talking about: http://ml.cddddr.org/cl-iteration/msg00008.html
tangus··on This Month with Nim: March 2023
What's the problem?
tangus··on GCC 13 to support Modula-2: Follow-up to Pascal lives on in FOSS form
I don't think so. Wirth languages are generally not appreciated because they are short sighted. They guy designs a language with only one goal: to build a compiler that runs in the machine he's currently working on.

* This system has a way to run programs where I need to specify the program name and the files it'll work on? Ok, that goes into the language: `program X (input, output)`

* I need a couple of variadic functions? Why bother creating a protocol for them? Let's put the ones I need into the language.

* I need to format numbers in these couple of functions? No need to write a library function for that; that would force me to create a variable string type, which I don't need. No, I'll add a special parameter syntax just for these functions into the language.

Etc., etc. Somebody needs to come and works hard in making a Wirth language usable for general programming before they can be appreciated.

tangus··on Argentina Wins the World Cup
During the penalty shootout, where teams traditionally stay quietly on the center circle and keep to themselves, the Dutch team decided to intercept and harass the Argentine penalty takers going to the penalty stop. This kind of unsportmanship was never seen before (Dutch always innovating lol) and understandably the Argentines were quite peeved.
tangus··on Borges: Recommendations from a life of lectures and essays
The site forbids access from my IP. If you are in the same situation, follow this link:

https://web.archive.org/web/20221128222820/https://www.lapha...

tangus··on A collection of human errors: assessing the distant past
Site returns 403 Forbidden
tangus··on Google Ad Disguising Itself as www.gimp.org
Obviously not, and nobody should have to learn that. Let's fight against fraud and deception and don't normalize them.
tangus··on DontBuyDell.com
Did you read the article? That's just the first section.
tangus··on Wargame: LaTeX package to prepare hex'n'counter wargames
No. Take a look at ConTeXt <https://wiki.contextgarden.net/Main_Page>, another TeX superset. It integrates TeX typesetting with MetaPost graphics and Lua programming, and does a much better job than LaTeX, in my opinion. Although LaTeX has infinitely more libraries, extending ConTeXt isn't as difficult and cumbersome as creating LaTeX packages.
tangus··on Message Eating Null (2000)
In the last 20 years people realized that the decision of of having nil eat or throw is better made by the caller. To that purpose, several languages already added a `.?` operator.

That's something that can work also in Smalltalk: Add a class `MessageEatingNil` that returns `nil` to everything except `isNil` and maybe `ifFalse`. Add a method `?` to the root class that returns self. Override that method in the Nil class to return a MessageEatingNil object.

   lastNumber := person ? office ? phone ? lastNumberDialed ? asString.
tangus··on Ana is a Python, PHP, and C inspired dynamically typed scripting language
I understood them. Take a look at the constants table, indices 0, 2, 4, 6: the column "Value" is truncated. Now imagine you have trouble with an ana function and want to take a look at the generated bytecode. Would you rather have the columns perfected aligned and try to guess the loaded function name from its first letter? I see several HNers with downvote capacity would, which is a surprise...
tangus··on Ana is a Python, PHP, and C inspired dynamically typed scripting language
I just saw two screenshots and already don't like it. It seems its output sacrifices information for the sake of... tabulation? presentation? I don't know, but it's the wrong call.

Maybe it wasn't intended, but having that screenshot as the tool's showcase sends a message to me.

tangus··on Brutal OS reached milestone 4
I wonder if January 11 was a Thuesday or a Thuersday...
tangus··on My favorite liar (2009)
The lecture had ended, so no.
tangus··on Stephen Sondheim on How to Do a Crossword Puzzle (1968)
Cryptic crosswords sound like fun. Unfortunately, at least in the Guardian's and the Independent's[*], words cross only every second letter. That, in addition to the cryptic clues, makes them too difficult for me.

[*] Those are the ones Forkyz (crossword Android app) provides.

tangus··on The most impressive linguistic feat I’ve ever seen
This was a fad in my local BBS around 1995. Not to these extremes, of course, but for a couple of months that year we'd justify our forum messages to the 72nd column without any extra space.

It's not too difficult, lines have enough words that there's always something you can change. After a while, as you approach the right margin, you can feel whether the rest of the sentence will fit, and you rephrase it as you write.

I see OP more as a feat of tenacity than of brilliance.

tangus··on The mysterious disappearance of the longest shrubbery
Who remembers boundary areas and the kind of fence they have? Access to them is restricted and people don't usually have a reason to go there anyway.

After they were abandoned there's still no reason for them to enter cultural consciousness. They'd still be out of the way shrubberies on the back of fields, with no indication that they were part of the longest shrubbery in the world.

And even if they knew about that piece of trivia, were they expected to pass it along to future generations? (!)

tangus··on WinCompose – A Compose Key for Windows
This is great! It's a shame XCompose doesn't follow rfc1345 though, which is the input method I use on Emacs. I have to learn two different sets of composing sequences :(

(Fortunately they seem to agree on the majority of the accented Latin letters I use.)

tangus··on Jackson structured programming
Nothing is wrong with it, but your suggestion comes 40 years too late. The popular idiom was the one I mentioned.
tangus··on Jackson structured programming
I can't say for sure, but I suspect it was a reaction to ALGOL-68. Creators of later Algolish languages usually made a point of rejecting features of Algol-68 they saw as prone to abuse.

And the block expressions in Algol-68 were certainly used and abused. Basically, the type and value of a block (BEGIN ... END or ( ... )) are those of its last expression, so you can put them anywhere. For example, Algol-68 has the looping construct WHILE <condition> DO <body> OD, but not C's `do <body> while (<condition>)`. So what do you do if you want to have the test at the end of the loop body? Simply

    WHILE (
       <body>;
       <condition>
       )
    DO SKIP OD
I guess you'd get used to those idioms eventually, or some coding conventions would have arisen if the language had been successful. But I can understand language creators looking at that and seeing how getting rid of it simplifies not only their compilers but also the programs written in their languages.
tangus··on Hundreds of fishing vessels vanishing along Argentina’s waters
Well, that was 40 years ago. And also, you don't launch Exocet missiles against commercial ships...
tangus··on WordTsar, a WordStar Clone
It's because there is a slideshow with images of uneven height at the top of the page.
tangus··on WordTsar, a WordStar Clone
It lacks word wrapping tho.
tangus··on TIL: Tcl-inspired command language on top of D
TIL is opinionated, all right, but this

>The number of spaces does count. Not counting indentation, it should always be one.

is the silliest "opinion" I've ever seen.

tangus··on Donald Knuth’s Algorithm D, its implementation in Hacker’s Delight and elsewhere
But why? The Hacker's Delight author justifies it:

>Several of the variables below could be "short," but having them fullwords gives better code on gcc/Intel.

But does the same happen in the "adapted" code? Does forcing 64 bit variables on a 32 bit architecture give better code?

Wouldn't it have been better to just leave the compiler to choose the best appropriate size? (I guess you do that by just declaring the variable as unsigned? I'm no C guru...)

Also, the fact that all of them renamed the variable un32 to un64 tells you that they didn't have the slightest idea about what they were doing :D

← PreviousPage 3 of 5Next →