Hacker Newsnew | past | comments | ask | show | jobs | submit | zac23or's commentslogin

I had a very bad experience with Datadog. They seem to be big scammers.

For me, Grammarly gives me the same impression as Datadog, but I have no explanation for why I feel that way.


I started using Delphi 3 and stopped at 7, migrating to web development (Rails, Django, etc.).

Delphi was magical. Nothing compares to Delphi's productivity. Rails is good, but it doesn't even come close to Delphi's productivity. People love Go's speed. Go is glacially slow compared to Delphi. The WYSIWYG form editor is incredible. I can use Delphi 3 on a Windows machine with 16 MB of RAM.

VCL is fantastic; the idea of components and memory management is incredible, simple, and it works.

Delphi is my first language; I studied VCL code and I love the code, the style. They were practical: Instead of Hash, they used TStrings (a list of strings) and the visual components also used them, like in the items of a Listbox!

Delphi could have been the platform for the web. Imagine a VCL for the web (VCLW), where you could change the target architecture or something like that and, presto, you'd have a web server running with VCL code!

That never happened. What happened was a series of bad ideas for the web, bad in their essence.

And Delphi invested in many projects doomed to failure, such as CORBA, three-tier architecture, MDA... Kylix!!!! Of course, Borland was very poorly managed. The CEOs were crazy. "Let's fight IBM." Delphi was abandoned. It's over.

I tried a new version of Delphi a few years ago. Wow, it was full of bugs! It had basic problems like compilation not working, Random crashing several times, etc. For me the new versions are just a way to profit from projects stuck in Delphi.

I tried Lazarus in the past, but it's extremely slow and I can't use my components in Lazarus without rewriting a lot of things.

To me, Delphi is languishing in an induced coma, breathing the air of the past, which is becoming increasingly rare. It's a shame.


This so much.

We just got code complete on porting a 30 year old Delphi app to C#, because of all of this.

Even now, our pure Delphi components are performant and wonderful, but hiring people who want to learn or know Delphi is hard, so off to C# we trundle forward.


Didn't the same people who wrote Delphi write also C# and .NET? When I first saw .NET it felt very much like VCL/CLX. And then came TypeScript from the same guy.


But then the C# people make writing code in it.. a horrible experience. They really like to over engineer and architect.

Had to look at some c# backend code. To write any kind of endpoint that talked to a database they had to write at least... 7? different files, lots of empty interfaces that has to be created and implemented, command, mediator patterns everywhere, etc. Looked like insanity compared to Spring Boot


You can have it as short as you want. For example check this minimal API

https://learn.microsoft.com/en-us/aspnet/core/tutorials/min-...

But if you want it to be mockable, concerns-separated and what have you, you’ll end up with at least 3-5 files. But it ain’t got nothing to do with either C# or .NET in general.


> Had to look at some c# backend code. To write any kind of endpoint that talked to a database they had to write at least... 7? different files, lots of empty interfaces that has to be created and implemented, command, mediator patterns everywhere, etc. Looked like insanity compared to Spring Boot

Programming against interfaces. That's what you are seeing. Makes unit testing easier.


Somehow it is not required in other languages. It hurt our eyes at the office when looking at all these empty meaningless interface files. It just looks like bad language design from the outside, but when you are in there then you are used to all the weird things


You know things are bad when someone compares something to Spring and says: "this is thing is more complicated!".


As much as I know the story MSFT was basically driving limousines in front of Borland headquarters and showering developers with money to jump the ship.

When web apps took off there was nothing that would save Delphi. Web stack was awful back then and I also enjoyed Delphi an building interfaces with it.

But web stack unfortunately had many more upsides than desktop apps and nowadays tooling for web sucks less.


As someone who used delphi professionally for years, it feels like we lived in parallel universes.

> you'd have a web server running with VCL code!

Is this for real? Unigui has been around for over a decade. I've ported legacy vcl apps to web with it. Works with apache as well.

What's your grudge with kylix? Again, I've used it to deploy server side code, worked great as a data provider for visual components and as an http endpoint. No idea why anyone thought it was bad. The only problem was it being discontinued. But nobody at the time thought it was doomed or would be discontinued.

> tried Lazarus in the past, but it's extremely slow

No, fpc builds, optimizes and runs exactly like delphi. The problem with Lazarus is it is missing commercial tools like devexpress.

Also Lazarus had compiler bugs on arm32 which prevented us from using it in professional barcode readers.

And the whole recompiling your ide every time you added a new control got old fast.

So it is unused for entirely different reasons. I can't think of anything else that is bad about Lazarus.

> tried a new version of Delphi a few years ago. Wow, it was full of bugs! It had basic problems like compilation not working, Random crashing several times

From someone who used "new delphi" for years this part feels like it was made up on the spot! If you have a crash, it is usually you doing something wrong with your controls.

And the way to fix it is to run another delphi ide, attach your delphi ide instance to the debugger and find the point your stupid mistake crashed the ide. Takes 5 minutes.

Edit: Note to the uninitiated: the reason a control (a gui element) can crash the IDE is because of Delphi s design time. That allows you to view and use the control while designing the interface.


> Unigui has been around for over a decade

Is it possible to take a VCL project, change some configuration, and turn it into a web server? Unigui is similar to Intraweb, isn't it? You need to recreate the project as a Unigui/Intraweb project.

> No, fpc builds, optimizes, and runs exactly like Delphi

It's not my experience. As an example: https://forum.lazarus.freepascal.org/index.php/topic,4958

> for years, this part feels like it was made up on the spot!If you have a crash, it is usually you doing something wrong with your controls.

No, I remember the event exactly. I saw a post about the community edition here, filled out the Embarcadero form, and downloaded it. No anything added to Delphi. And I had a bad experience with it.

I love Delphi. The best days of my life as a developer were spent using Delphi. But this does not solve the problems that Delphi and Embarcadero face.



"Over the past decade, people in the community, not just Shopify employees, started to conclude that rubygems and bundler were being monetized by some key maintainers."

Is being monetized wrong? If so... Is there any REAL evidence? It's bizarre to talk about this WITHOUT evidence. Is it a witch hunt?

This story is bizarre on so many levels, I have no idea what's going on, but extraordinary claims require extraordinary evidence.


People are complaining about the price of games, about Microsoft giving up exclusivity on some games...

I've seen this happen in many markets. When no one uses the internet and annual growth is 1,000%, everyone tries to attract an audience. Free internet access, free email, etc.

Big budgets are very encouraging in growing markets (Sony surpassed Concord with a budget of 600 million, according to some sources). It's a gold rush.

When the market stops growing, everything free disappears and everyone tries to make money in every way.

Some numbers in the gaming market probably indicate the end of growth, so prices are starting to rise more sharply. The price of older consoles hasn't dropped, the end of exclusivity (having access to more people with the same game), you have to pay to access online games, etc. The idea is to squeeze every penny out of every player.

This is also happening with streaming now.

The big risk is pushing too hard and losing the audience.

I have no idea what will happen, but I bet piracy will increase significantly in the coming years, and the industry will start trying to discontinue older games and eliminate cheap ways to play, forcing cloud gaming.

Mobile games are a different story; they're essentially a casino disguised as gambling, making money off of sick people (the whales).

Maybe Steam will be the last refuge from all this. Or it will become the same thing...


I read such news with a grain of salt:

However, when officials went to congratulate him on his 111th birthday, they found his 30-year-old remains, raising concerns that the welfare system is being exploited by dishonest relatives.

https://www.bbc.com/news/world-asia-pacific-11258071 (2010)


> More than 230,000 elderly people in Japan who are listed as being aged 100 or over are unaccounted for, officials said following a nationwide inquiry.

That's a pretty stark difference.



I don't know what's wilder, regaining full functionality in spinal cord injuries or that URL.


> Slack is one the most slick and pleasant pieces of software to use

I've never heard anyone say that before!


Never heard anyone complaining either./


Try meeting people who use slack?


I do for the past 10 years or so ;)


Great article!

I like Go and Rust, but sometimes I feel like they lack tools that other languages have just because they WANT to be different, without any real benefit.

Whenever I read Go code, I see a lot more error handling code than usual because the language doesn't have exceptions...

And sometimes Go/Rust code is more complex because it also lacks some OOP tools, and there are no tools to replace them.

So, Go/Rust has a lot more boilerplate code than I would expect from modern languages.

For example, in Delphi, an interface can be implemented by a property:

  type
  TMyClass = class(TInterfacedObject, IMyInterface)
  private
    FMyInterfaceImpl: TMyInterfaceImplementation; // A  field containing the actual implementation
   public
     constructor Create;
     destructor Destroy; override;
     property MyInterface: IMyInterface read  FMyInterfaceImpl implements IMyInterface;
   end;
This isn't possible in Go/Rust. And the Go documentation I read strongly recommended using Composition, without good tools for that.

This "new way is the best way, period ignore good things of the past" is common.

When MySQL didn't have transactions, the documentation said "perform operations atomically" without saying exactly how.

MongoDB didn't have transactions until version 4.0. They said it wasn't important.

When Go didn't have generics, there were a bunch of "patterns" to replace generics... which in practice did not replace.

The lack of inheritance in Go/Rust leaves me with the same impression. The new patterns do not replace the inheritance or other tools.

"We don't have this tool in the language because people used it wrong in the old languages." Don't worry, people will use the new tools wrong too!


Go allows deferring an implementation of an interface to a member of a type. It is somewhat unintuitive, and I think the field has to be an unnamed one.

Similarly, if a field implements a trait in Rust, you can expose it via `AsRef` and `AsMutRef`, just return a reference to it.

These are not ideal tools, and I find the Go solution rather unintuitive, but they solve the problems that I would've solved with inheritance in other languages. I rarely use them.


Thanks. I had been searching for this for a project in the past and couldn't find it in Go or Rust. Before posting, I asked chatgpt, and he said it wasn't possible...


Before my first job, I read many of these types of texts. When I entered the job market, I saw that the truth was very different. This is pure nonsense.

In my 26 years of experience, I see managers and HR professionals as company advocates, with a single mission: to protect the company's interests.

Whether managers admit mistakes or not is irrelevant; what matters is that they defend the company's interests, no matter the cost.

Mistakes are passed on to the people who can do the heavy lifting, and they respond with dismissal or legal retaliation (when possible).

Your HR exit interview is designed to find out if you harbor resentment toward the company and if there's a chance the company will be sued.

I've tried every imaginable technique I've read in modern books. Politics are more important than anything, and nothing works.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: