[HN Gopher] The 90s Developer Starter Pack
___________________________________________________________________
The 90s Developer Starter Pack
Author : ingve
Score : 40 points
Date : 2023-07-09 21:11 UTC (1 hours ago)
(HTM) web link (retrocoding.net)
(TXT) w3m dump (retrocoding.net)
| RobotToaster wrote:
| I still miss VB6 tbh.
| hattmall wrote:
| You are not alone.
| zerr wrote:
| Any experiences using Delphi for Android/iOS (and cross-platform
| generally) development? Seems like the only cross-platform
| solution that wraps platform WebView on each platform, has an
| imperative GUI, RAD IDE and produces a native code.
| nemo44x wrote:
| Really nice API. Compare to Mac of that era you needed to create
| and maintain your own event loop and have a bunch of branches for
| when a certain thing was clicked.
|
| To show a basic dialogue you had to continue to draw it over and
| over in your loop.
|
| Windows took care of devs!
| duskwuff wrote:
| > To show a basic dialogue you had to continue to draw it over
| and over in your loop.
|
| It wasn't _quite_ that bad. Basic alert dialogs were fully
| handled by Alert(); event loops for more complex dialogs were
| implemented by ModalDialog(). Anything non-modal could
| certainly get hairy, though.
|
| (Relevant documentation:
| https://woofle.net/impdf/TB-06-DialogManager.pdf)
| asveikau wrote:
| I think you can skip VC++97 and develop with msys and mingw. I
| haven't used those to target 9x in a long time, just older NT, so
| I'm not sure how up to the task it is these days. But I think it
| can get you more recent versions of C and C++ that route.
| colordrops wrote:
| I could hear disks spinning up just looking at that page.
| brianwawok wrote:
| 10k (I think the fast drives were 10k rpm) SCSI drives were a
| full time hummingbird.
| speed_spread wrote:
| There were even 15k SCSI HDD. Those sounded like having an
| idling Ferrari parked next to your ankle.
| mjhagen wrote:
| My 90s developer setup:
|
| - Macintosh Performa 5200
|
| - BBEdit
|
| - Fetch
| fuzztester wrote:
| The 80s Developer Starter Pack:
|
| BEGIN Use(TurboPascal);
| Do(AllWithJustIt);
|
| END
|
| Why use Pascal?
|
| https://news.ycombinator.com/item?id=36646890
| j45 wrote:
| Starting with Basic, Pascal really was such an accelerant to
| learn programming before moving to c, c++, Java, .net and
| beyond.
|
| Polyglots were formed quite naturally at one time, with a focus
| on transferable skills and knowledge.
| makapuf wrote:
| How many did basic > compiled basic > turbo pascal + asm > C
| > C++ > perl/python > ...
| indymike wrote:
| I think almost all of us started with BASIC. Then we all
| wanted to do more... and with more memory and do it
| faster... so I needed a compiled language.
|
| So, I learned C, then Pascal, then VisualBasic. C forever
| corrupted me.
|
| Then C++ was the future, so I learned that... and then the
| web came... and with it came CGI scripting with Perl. I
| really fell in love with Python, though. It was what BASIC
| should have been, but Python was slow, so I learned Go.
| Along the way I also learned Prolog, Lisp, Java,
| Javascript, Rexx and a host of different OS scripting
| languages. Now, I just look at a problem, and pick
| something that fits. Mostly. Except when I want to learn
| something new.
| j45 wrote:
| For real haha. I forgot to include asm and Visual Basic.
|
| VB was looked down on back then but look at low/no code
| now.
|
| Perl/Python was at the start for me, scripting was a
| parallel lane to coding.
|
| Highest respect is always held for TCL.
| mattl wrote:
| This "real programmer" stuff is just gatekeeping and needs to go
| away forever
| speed_spread wrote:
| Well, someone's hurt that their favorite IDE was derided once
| again 28 years later... :)
|
| Seriously, VB was quick and fun to code in but ultimately just
| contained way too many crazy footguns to build large
| maintainable apps. It's one of those things I swore never to
| put on my CV for fear someone noticed and asked me for just one
| "one quick fix" to their mudball.
| corysama wrote:
| I'm not a Windows programmer to a significant degree. But, I did
| a tiny bit of digging and discovered at WinMain is just a
| function called by main() in Win32 executables. The implicit
| main() is pretty trivial and WinMain is largely unnecessary.
|
| hInstance can be retrieved from GetModuleHandle(nullptr).
| hPrevInstance is always NULL. lpCmdLine can be retrieved from
| GetCommandLine(). nCmdShow can be retrieved from GetStartupInfo()
| StartupInfo.wShowWindow.
|
| And, so you can just do #include <Windows.h>
| #pragma comment(lib, "user32.lib") #pragma
| comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")
| int main(int argc, const char *argv[]) {
| MessageBox(NULL, "Hello, Welcome to Win32 Programming",
| "Hello, World", MB_OK | MB_ICONINFORMATION); }
|
| and it works the same as the code in the article. Not a
| significant difference. But, I like peeling back magic code to
| make things just a little simpler.
|
| Can someone who knows better tell me why this is a bad idea? Or,
| is WinMain just an idea from 30 years ago that didn't actually go
| anywhere?
| andrewf wrote:
| hPrevInstance meant something in Win16, which Win32 tried to
| maintain source compatibility with.
| https://devblogs.microsoft.com/oldnewthing/20040615-00/?p=38...
|
| As you point out, what really matters is the entry point the
| linker puts into the executable's header, it's all just
| convention from there.
| [deleted]
| tom_ wrote:
| WinMain and main are both called by invoke_main:
| https://github.com/ojdkbuild/tools_toolchain_vs2017bt_1416/b...
|
| (that does not look like an official repo, but it's the best I
| could find in terms of a github link. The file pretty much
| matches c:\Program Files (x86)\Microsoft Visual Studio\2019\Pro
| fessional\VC\Tools\MSVC\14.29.30133\crt\src\vcruntime\exe_commo
| n.inl on my PC.)
| Tade0 wrote:
| > A real gold mine for a person like me who lives in a developing
| country with restricted access to old hardware.
|
| Interesting, because if anything I would assume that old hardware
| would be more accessible in developing countries - I mean, that
| was the case 20+ years ago in my (still) developing country - I
| got my parts from an open air bazaar, where it wasn't weird to
| see 10yo items. Personally I was 5 years behind the state of the
| art.
|
| My oldest piece of hardware was a dot matrix printer, which I
| used for school as recently as in 2007. IIRC the mentioned bazaar
| was the only place where you could find a replacement ribbon for
| it.
|
| My hoarder relative still had some old crap from the 90s when I
| was clearing out his cellar a few years ago.
| pjerem wrote:
| Ah, do you remember when this thing called Windows allowed you to
| simply create windows with 10 lines of code ?
|
| Where have we gone ?
| anyfoo wrote:
| And have a 10000 lines message processing loop? Yeah. It wasn't
| exactly Qt.
| enriquto wrote:
| Ten lines? Why so complicated? Back in my day we did it with
| just two lines: mov al, 13 int 10
|
| And then you pushed your pixels to the video segment (a0000).
| So simple and elegant...
|
| But my dad still mocked me because it was too complicated! Back
| in _his_ day, you didn 't need to bother with stupid video
| modes, and could just POKE the pixels to your screen!
| tom_ wrote:
| Stop being so dramatic. The exact same code will still compile
| today, and you'll get your window in 10 lines or whatever. And
| anyway, it's not a window - it's a message box.
|
| (You could probably put an honest-to-goodness window up in 10
| lines, but you'd have to squeeze the code together a bit more
| than most reasonable people would consider permissible, and/or
| it'd be missing a few key aspects. But I bet 30 lines would be
| plenty for a full-on one though, with its own custom window
| proc that has a WM_PAINT handler that does something and a
| WM_CREATE handler that pops a context pointer in GWLP_USERDATA
| and a WM_DESTROY handler than frees the context. And a message
| loop. The code today would be basically exactly the same as it
| was in the Windows 95 days.)
| maccard wrote:
| Depending on what kind of window you want, you can still get a
| modal in one line with the Windows SDK
| MessageBox(NULL, "Something Went Wrong", "Error",
| MB_ICONEXCLAMATION | MB_OK);
|
| A full windows window including a message handling loop is only
| about 50 lines of code [0]
|
| [0] https://learn.microsoft.com/en-
| us/windows/win32/learnwin32/c...
| j45 wrote:
| The best thing about this was the terror of taking apart what was
| usually a $2-4000 home Pc and putting it together again.
|
| Learning all the hardware acronyms set a foundation for software
| development because you could debug though what the computer was
| doing.
|
| It's almost an unfair advantage these days in some cases.
| jauntywundrkind wrote:
| Don't forget a pack of extra jumpers for setting irq's with. Lol.
___________________________________________________________________
(page generated 2023-07-09 23:00 UTC)