Hacker Newsnew | past | comments | ask | show | jobs | submit | Smalltalker-80's commentslogin

I have this stored locally, of course. And re-bought one physical issue from 1981, that defined computer interaction and programming as we know it today. Say my name... :-) https://archive.org/details/byte-magazine-1981-08

Yes, and the hubris sting-of-death was UWP. They tried to make Windows into a mobile OS, severely restricting the alowed actions of programs, including strict certification to be able to run them (elsewhere). Of course nobody went for this and UWP died a quiet death. Recently there are signs that MS is trying to go back to making products that users actualle want (Win11 reverts). We'll see...

It's hard to describe how uselessly restrictive the UWP model was when they originally introduced it as "Metro-style apps" in Windows 8. Among the things it officially did not support included:

- Multiple monitors - Non-full screen views - Sideloading outside of the Store - Offline installation - Explicit threads - thread pool only - Aligned memory allocation - malloc only - Any C++ compiler other than MSVC - Support for any version of Windows other than Windows 8 - Running apps as administrator - Running more than one instance of an app at a time - Runtime shader compilation

If any ONE of these things was a blocker, you could not write a Metro style app. And yet Microsoft pushed this extremely hard -- including almost completely ending any maintenance of Win32 APIs. And despite the many relaxations and extensions, UWP is still largely useless today, and now even itself seems to be going into maintenance mode. All of which has done a lot of damage to the state of Windows desktop platform development.

As an example of how bizarre UWP is, for some reason every time they published a list of new APIs added to it, they converted the list of API identifiers to lowercase in the documentation:

https://learn.microsoft.com/en-us/windows/uwp/whats-new/wind...

It's relatively insignificant, but... why? Just one of many things that showed how immature UWP was.


> They tried to make Windows into a mobile OS, severely restricting the alowed actions of program

They already had Silverlight! For Windows Phone 7. Then they killed that off too and expected the "plethora" of WP7 apps to be rebuilt for WP8 (requiring the beloved Windows 8 desktop OS for this task). Then they again expected developers to throw that away in favor of UWP for Windows 10, which unified the desktop and phone OSes. By then it was too late.

Old apps still ran on the newer OSes but the SDKs became dead-ends.


> (Win11 reverts).

I must've missed that one. What did they revert?


It doesn't matter - what Microslop says and what they do are traditionally very distinct things.

But in case you want to read yourself: https://blogs.windows.com/windows-insider/2026/03/20/our-com...


"File explorer launch experience" -hard to tell if this is satire…

I did mean these, very recent promises (vaporware at this moment), without satire. https://blogs.windows.com/windows-insider/2026/03/20/our-com...

Mostly solid scientific work, this ;)


Imo, the problem with the 4-pane browsers are: 1 - The left-most 'package' pane is a flat list. And there are 10K + classes in e.g. Pharo. There are 900+ (!) packages in Pharo, in the pane, so its not easy to scroll through. This is solved 'manually' by have a hierarchical naming of packages. I think this pane should just have tree view. 2 - When developing an app, you may be working on classes in multiple packages. You want to have 'project' view with a simple way of switching between them, without having 10+ system browser windows open, like shown in the article. Dolphin Smalltalk has implemented this concept. Shameless plug: SmallJS (https://small-js.org) has these too..


Whenever I tried dabbling in Smalltalk, I would feel constrained by the system in terms of raw real estate. I never cared to view the system through the narrow slit of the method code editor. I would suffer the explosion of windows. All of it was off putting to me, and I never pushed through it to work with a project long enough in order for it to be comfortable.

But, let's contrast it to Java, which pretty much is in the same boat as a modern Smalltalk. A very large core system of packages, classes, and methods. Wrapped in a spider web of dependencies. And, granted, I've been working with Java a long time, and this is all quite comfortable to me. But at the same time, it doesn't suffer the issues that the Smalltalk browser presents.

Consider, regarding the parent point, the entirety of the JDK is not typically presented in the modern IDE. It's just back there. There's no real estate committed to it. There's your project (typically), with its classes.

I use NetBeans, so I have a project view of packages and classes, I have code tabs of individual classes, and a contextual method navigator within a class.

Its routine to potentially have a tab explosion, in contrast to a window explosion when exploring code. But when I do that, all I get is the code window, not the entire project or context of the class.

That is, in my code, I can click on, say, an ArrayList method, and jump to the JDK source code for the method within the ArrayList. I don't get its entire package hierarchy, I get its method list (uncatagorized, but alphabetical) while viewing the code file. So, the impact of viewing a new method is minimal -- it's just a new tab.

But as a benefit, I get to see not only the method I'm interested in, but I get to see the context of the code around the method. When I code, I don't write methods in a vacuum. I organize my code somewhat around aspect of the logic of the class. So, if there's a method that does one thing, chances are that the methods around it are doing similar or related things, or part of the logic of whats going on. Proximity in the source file tells part of the story not captured at the method level.

Sure, I can click around, in the navigator, in the IDE directly to visit other methods, but I can also scroll about, have the breadth of the class as a canvas and gather the ebb and flow of the logic within it. This is stark contrast to the ST "tiny" method browser.

I can also search globally within the source methods rather than just method signatures, while still having access to call trees and references and many of the other wonders of the ST browser.


Totally agree the only viewing methods in isolation, is less valuable than viewing the methods around it "for free". Indeed the methods in my classes are caryfully ordered, to keep ones that are used together on the source together. (And SmallJS is file based)


a simple workflow for development is to have 2 browsers open, 1 test runner, and 1 workspace.

put one browser on your code and the other on your tests


> But, let's contrast it to Java, which pretty much is in the same boat as a modern Smalltalk. A very large core system of packages, classes, and methods.

Java is used in many places. Smalltalk is not. The whole comparison falls short due to this already. TIOBE ranks Java #4 right now, which is not too bad, even though TIOBE also sucks.


Only because big Smalltalk shops like IBM, decided to pivot into Java, to this day Eclipse keeps many artifacts form its Visual Age roots.


Popularity is irrelevant here.


Rather than a fixed 4-pane browser, a potential solution is to use something like the macOS finder's "Column" view, where each layer of the hierarchy produces a new pane, as many as you need to drill down to the particular thing you're looking for.


In case you want to know more about them, they're called "Miller columns"


Extending that, an outliner can be a great way to deal with this stuff. The problem becomes the self-referential nature of OO systems. Outliners are good when you get to the method of interest, but then you have the problem of browsing senders and implementers.

Still, there's nothing worse than a Smalltalk without a class category list. Smalltalk/MT, for example, just had a class hierarchy browser, and the category class member variable was left blank. I found it very hard to know where to start looking for behavior.


While I agree that the package column has room for improvement, some of the 'largesse' can be handled by the search field at the bottom of it, and once you get to doing something serious you could set up your own image and ditch a lot or most of the standard distribution.


I think I'd prefer a pane view over a tree view because the higher levels retain their scroll position even as I browse beneath. Is there a similar UX possible for tree views?


cuis smalltalk has multiple "browsers". One browser allows you to restrict your view of the system (the leftmost pane) to a specific package (eg: the one you're actively creating right now).


Not if they're made by Anthropic...


Yep, there's a lot of (continuing) economical damage and still a lot of new immigrants every week. I think some time still needs to pass before Brexit politicians dare to change their stance, now confronted with the results of their choice. In the mean time, Brexit rules are quietly being undone without losing face too much. See the EU-UK trade deals from May 2025.


I don't think they can. The UK got a lot, and I mean a lot, of special privileges when they joined the EU, even more so than the French. When they come back again with their tail between their legs, they won't get the same treatment a second time. This will make rejoining much, much harder than just clicking "Undo".


What's the "pull" that keeps people migrating to the UK despite the economic gloom?


While Brits may be gloomy the wages are higher here than many places like India, the Philippines or Somalia so we have people wanting to come in.


English language is probably a factor


Agreed. I'm over 50, so I'm 'allowed' to use FB ;-), for those few posts of the last remaining family and friends there. Using FBP, I only see new posts of friends in chronological order. But FB still f*cks you, because it does not show all updates of everyone. When the algo decides you've had enough, you simply reach the 'end' of your feed. Well when FB, sessions keep getting shorter and shorter... There are some EU laws in the making that might change things, though.


Thechnically cool, but ToS state: "Misuse of Service Restrictions - Purpose Restriction: The Service is intended for video viewing and sharing, not as a general-purpose, cloud-based file storage service." So they can rightfully delete your files.


Its interesting that this exact use case is already covered in their ToS. I wonder when the first YouTube as storage project came out, and how many there have been over the years.


The idea of exploiting someone else's server to store files is incredibly old.

https://en.wikipedia.org/wiki/GMail_Drive

When Google launched Gmail (2004) with a huge 1GB storage quota, Richard Jones released GMailFS to mount a Gmail account as a standard block device.


At-least as far back as 2017 when I wrote Schillsaver: https://github.com/Valkryst/Schillsaver

None of us, in the original discussion threads, knew of it being done before then IIRC.


I mean, it is pretty likely they figured out it could be a pretty obvious possible misuse before anyone actually started doing it.


Can't wait for browser support for this... ;-)


webuefi has already been shipped by google for use on chromebooks. but mozilla and apple irrationally refuse to implement the standard for "security reasons"


You jest but W3C is more or less synonymous with Google nowadays.


Soon™


Yeah, that Algol code is not very pretty :-). I'm sticking with my namesake from 1980...


One thing I always liked about some older languages was being able to have blanks in identifiers. Although I see that they actually managed to invent a new stropping variant that doesn't work with that… For the "kids"…


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

Search: