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

Languages like Prolog just don't offer that sort of freedom.

Yes, they do -- that's why people have enjoyed using such languages.

It might help to think of them as being like very-high-level scripting-languages with more rigorous semantics (e.g. homoiconicity) and some nifty built-ins, like Prolog's relational-database. (Not to mention REPLs, tooling, etc.)

Read, for example, what Paul Graham wrote about using Lisp for Viaweb (which became Yahoo Store) [0] and understand that much of what he says applies to languages like Prolog and Smalltalk too.

[0] https://www.paulgraham.com/avg.html


ROFL.

Like Lisp and Smalltalk, Prolog was used primarily in the 1980s, so it was run on Unix workstations and also, to some extent, on PCs. (There were even efforts to create hardware designed to run Prolog a la Lisp machines.)

And, like Lisp and Smalltalk, Prolog can be very nice for iterative development/rapid prototyping (where the prototypes might be good enough to put into production).

The people who dealt with Prolog on punchcards were the academics who created and/or refined it in its early days. [0]

[0] https://softwarepreservation.computerhistory.org/prolog/


I mean there are nearly two full decades between the appearance of Prolog(1972) and PC revolution late 1980s and early 1990s.

>>The people who dealt with Prolog on punchcards were the academics who created and/or refined it in its early days. [0]

That's like a decade of work. Thats hardly early 'days'.

Also the programming culture in the PC days and before that is totally different. Heck even the editors from that era(eg vi), are designed for an entirely different workflow. That is, lots of planning, and correctness before you decided to input the code into the computer.


By 1979 at the latest -- probably closer to 1975 -- the primary Prolog implementation of the day (Warren's DEC-10 version) had an interpreter, where you could load files of code in and modify the code and you had a REPL with the ability to do all kinds of things.

I posted an excerpt of the manual, with a link to a PDF of it, in a reply to another comment [0]

(And, since even the earliest versions of Prolog were interpreted, they may've had features like this too).

And, as far as editors are concerned, people still use versions of vi (and, of course, emacs) to this day by people who don't necessarily do lots of planning and correctness before deciding to input the code into the computer.

[0] https://news.ycombinator.com/item?id=46664671


And one other thing: just because early Prolog interpreters were implemented on punchcards doesn't mean that Prolog programs run by those interpreters needed to be. It's quite possible that basically nobody ever wrote Prolog programs using punchcards, given that Prolog has the ability to read in files of code and data.

...these things were mostly written(and rewritten till perfection) on paper first and only the near-end program was input into a computer with a keyboard.

Not if you were working in a high-level language with an interpreter, REPL, etc. where you could write small units of code that were easily testable and then integrated into the larger whole.

As with Lisp.

And Prolog.


Personal computers are a thing from the late 1980s.

Even then PC use in businesses was fairly limited.

Prolog appeared in 1972.

Either way before the PC, Programming was nothing like it is today. It was mostly a Math discipline. Math is done on paper.


The following is from David H.D. Warren's manual for DEC-10 Prolog, from 1979 [0]. It describes how Prolog development is done interactively, by being able to load code in dynamically into an interpreter and using the REPL -- note that the only mention of using paper is if the developer wants to print out a log of what they did during their session:

Interactive Environment Performance is all very well. What the programmer really needs is a good inter-active environment for developing his programs. To address this need, DEC-10 Prolog provides an interpreter in addition to the compiler.

The interpreter allows a program to be read in quickly, and to be modified on-line, by adding and deleting single clauses, or by updating whole procedures. Goals to be executed can be entered directly from the terminal. An execution can be traced, interrupted, or suspended while other actions are performed. At any time, the state of the system can be saved, and resumed later if required. The system maintains, on a disk file, a complete log of all interactions with the user's terminal. After a session, the user can examine this file, and print it out on hard copy if required.

[0] https://softwarepreservation.computerhistory.org/prolog/edin...


Great name -- good luck and...all the best.

thanks mate!

If you want more Ed Zitron analysis/commentary on AI, AI companies, etc. you might want to check out his blog: https://www.wheresyoured.at/


with a good hosted option (atlas).

From less than 2 weeks ago: "How MongoDB Atlas’s Forced Upgrades and Support Policies Drove Us to PostgreSQL" [0] -- TL;DR: MongoDB lost a $50K/yr Atlas contract due to the way they do things.

[0] https://medium.com/@inkwash_70850/how-mongodb-atlass-forced-...


> From less than 2 weeks ago...

You can always find pain points and issues in a lot of things (if you look hard enough). Unless there are no users I doubt any platform doesn't have blogs / articles with a list of complaints with people migrating away (this would have resulted in a monopoly).

It's a balancing act.

I did say it was a good hosted option - not the best but at least decent. There are definitely a lot of worse options out there.

These stories are always short sighted or only paint part of a picture. Years later (there may be no followup post) but they may have a different list of complaints from self-hosting. It never stops, does it?


FYI, the term was first used in Britain in 1750, according to the term's Wikipedia page[0], which discusses how the term was used in different countries in a neutral way until about 1860 in Germany, at which point it was used in a more antisemitic context.

[0] https://en.wikipedia.org/wiki/Jewish_question


That's not likely to be a problem since these days every board game has a number of instructional videos (and that's in addition to video reviews, which typically show how a game works, though not in as much detail).


From the Leo Frank Wikipedia page [0]: "In modern times, despite strong evidence pointing to Frank's innocence, the case has become a modern focal point for neo-Nazis and anti-Semites. This is partly because it led to the creation of the Anti-Defamation League but also because it fed into anti-semitic conspiracy theories claiming Jewish control of the media. As a consequence, in recent years a number of websites have been established by white supremacists disputing the prevailing consensus of Frank's innocence."

[0] https://en.wikipedia.org/wiki/Leo_Frank#Later_consensus:_a_m...


Just a reminder that HN's official "Who is Hiring?" post is put up on, or about, the first of each month. So the September post should be up by next Tuesday at the latest (i.e. assuming it's postponed till after the weekend and the Labor Day holiday).

In the meantime, in case it helps, here's last month's post, with around 450+ entries: https://news.ycombinator.com/item?id=41129813


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

Search: