13 ms·
Death by bean counting and enterprise bs, that's what happened. I spent 13 years writing Object Pascal in Delphi full time, starting from Delphi 4 and ending r
by codr7 5y ago
Death by bean counting and enterprise bs, that's what happened.
I spent 13 years writing Object Pascal in Delphi full time, starting from Delphi 4 and ending right about where Embarcadero entered the scene.
They seriously dropped the ball by focusing on ticking enterprise boxes and charging insane amounts for it rather than evolving and fixing stuff.
- speed_spread 5y agoYep, they brutally tried to trade community goodwill for enterpris-ey contracts and quickly lost both.
- pantulis 5y agoI mean, they even had their own CORBA broker!
- stickfigure 5y agoUnpopular opinion: CORBA was underrated. For its time, CORBA was a decent way of stitching together heterogeneous systems. Tediously hand-coding REST APIs was a big step backwards, and gRPC is really just catching up to where we were before.
- poulsbohemian 5y agoThank you!! I did my undergrad thesis around CORBA (showing my age…) and you are spot on that the whole world proceeded to pile on a whole lot of work in order to make everything run over http.
- scrumper 5y agoI remember learning about CORBA in undergrad too. Then a few months into my first job, "new guy, go do this integration with SOAP/WSDL." Crushed me so hard I went into sales.
- AnotherGoodName 5y agoThe 'never again' part of working with soap for me was that Microsofts and Javas soap libraries were more or less incompatible for a variety of reasons. I could handle the xml madness but at least make sure the standard is a standard. I'm pretty happy with rest apis on that front. I can always make them work.
- pjmlp 5y agoYeah I remember those happy days. There were some configuration behaviours on the standard that had opposite defaults.
- pjmlp 5y agoAgreed, but unfortunately so is fashion in this industry.
- atombender 5y agoAnd there's Cap'n Proto, which is essentially a reinvention of CORBA. Unlike gRPC, where RPC calls are just functions that take pure data arguments and return pure data structs, Cap'n Proto allows RPCs to return references to objects. The client can hold onto the reference and call methods on it, which invoke RPC calls, while the client and server runtimes keep track of what the references refer to. So you can treat remote objects as if they're local to your process. This "location transparency" feature is at the heart of CORBA, and later, Microsoft DCOM and Java RMI. I've never used Cap'n Proto, but with CORBA/DCOM/RMI, this is a really powerful feature which allows you to work with APIs as if they're just in-process libraries. The downside is that if you pretend there's no network overhead, you might end up designing very inefficient applications, with each method call becoming a network roundtrip. It also means a client can, if you're not careful, "hog" a remote object and keep it from being deallocated, resulting in leaks or excessive memory usage. Basic DCE-style RPC like gRPC is simpler and has more predictable performance, since you're forced to consider that you're talking to a remote API, just like REST.
- codr7 5y agoHaving worked with some of those; I'm going to say thanks, but no thanks. Hiding network access and pretending it's all local is a recipe for disaster. If you're writing a networked application, that's right up there on the list of things you need to focus on and never forget.
- vrodic 5y agoI was under the impression that a lot of the original team was hired by MS and that was the end of Borland that created Delphi.
- ccleve 5y agoExactly this. Pascal was a great language, and I wonder how much we've lost by having it go by the wayside. It was strongly-typed, easy to read, cross-platform, produced native executables, and was lightning fast to compile and execute. I say "was" a great language because it isn't widely used today. I miss it.
- qalmakka 5y agoAlso it had sane strings. Strings with sizes, withouth the whole null-terminated madness of C which still haunts us nowadays.
- jstimpfle 5y ago"Sane" strings that may waste 4 bytes of length field for unnecessary count, or may have a 1 or 2 bytes length field that proves to be insufficient. Or "sane" strings that alloc and dealloc and refcount like mad, bringing the application to a stall. "Sane" strings that discourage the developer from just coming up with a simple memory management scheme that fits the situation at hand. "Sane" strings that lead to incredible bloat and incompatibility, because there is no one true "sane" string type, so every module that doesn't know better forces their own way onto the user.
- nwiswell 5y agoObviously C-style strings can still remain an option where they are needed, but in most cases using the 4 bytes for a length field is a sane default. How many buffer overflow attacks have been enabled by that four byte savings over the years? > "Sane" strings that discourage the developer from just coming up with a simple memory management scheme that fits the situation at hand. "Sane" compilers that discourage the developer from considering the machine level instructions. It's turtles all the way down. There's a reason that Python is so popular and it's not performance
- jstimpfle 5y agoThis is not Python so that's a strawman.
- appleflaxen 5y agoEmbarcadero was a version of Delphi? I googled it, but it wasn't clear if it was a buy-out, a rebrand, or something else.
- jstimpfle 5y agofrom wikipedia, "On May 7, 2008 Borland Software Corporation announced that its software development tools division, CodeGear, was to be sold to Embarcadero Technologies for an expected $23 million price and $7 million in CodeGear accounts receivables retained by Borland.[5] The acquisition closed on June 30, 2008 for approximately $24.5 million.[6]"
- Tozen 5y agoThe Pascal community has to be thankful for the creation of the open source project of Free Pascal/Lazarus and to a degree the Russian created PascalABC. There are some others, but these are ones still here and viable. The open source Object Pascal projects is was kept the language alive. Delphi/Embarcadero went all out chasing enterprise dollars. The prices they charge burns holes in pockets for any little guys. Only in the last few years have they come to their senses with the free Community Edition and focusing again on making school/academic licenses easier to get and more accessible.