hrefna, to Java
@hrefna@hachyderm.io avatar

It's fascinating to me looking at beginning language guides and thinking "what does this say about the culture of the language"

When I was delving into it was (with affection) "here's hello world and here's a dense academic paper on implementing event systems in OCaml 5!"

guides used to be centered on the assumption that you were a web programmer looking to do applets, even long after that assumption died.

generally seems to assume a background in programming w/ a CLI.

tetrislife,

@hrefna I know syntax matters to people (and I haven't yet written #Erlang, only some #Prolog), but it is just a language. Just pattern-matching and immutability make it better than most by a long shot. So, I think the Erlang inventors got the language quite all right, and Elixir might just be a nicer way to write OTP style.

ovid, to javascript
@ovid@fosstodon.org avatar

I started programming in 1982. Though I'm known as a developer, I tried to remember every other languages I've programmed in.

, #C, 6809 Assembler, , VBScript (and its many variants), , , , , , , Easytrieve, and probably a few others.

I wish I had gotten a job in Prolog, primarily because I loved what I could create with it. I don't love programming; I love creating.

What are you languages?

abucci, to ProgrammingLanguages
@abucci@buc.ci avatar

A weird thing about being 50 is that there are programming languages that I've used regularly for longer than some of the software developers I work with have been alive. I first wrote BASIC code in the 1980s. The first time I wrote an expression evaluator--a fairly standard programming puzzle or homework--was in 1990. I wrote it in Pascal for an undergraduate homework assignment. I first wrote perl in the early 1990s, when it was still perl 4.036 (5.38.2 now). I first wrote java in 1995-ish, when it was still java 1.0 (1.21 now). I first wrote scala, which I still use for most things today, in 2013-ish, when it was still scala 2.8 (3.4.0 now). At various times I've been "fluent" in 8086 assembly, BASIC, C, Pascal, perl, python, java, scala; and passable in LISP/Scheme, Prolog, old school Mathematica, (early days) Objective C, matlab/octave, and R. I've written a few lines of Fortran and more than a few lines of COBOL that I ran in a production system once. I could probably write a bit of Haskell if pressed but for some reason I really dislike its syntax so I've never been enthusiastic about learning it well. I've experimented with Clean, Flix, Curry, Unison, Factor, and Joy and learned bits and pieces of each of those. I'm trying to decide whether I should try learning Idris, Agda, and/or Lean. I'm pretty sure I'm forgetting a few languages. Bit of 6502 assembly long ago. Bit of Unix/Linux shell scripting languages (old enough to have lived and breathed tcsh before switching to bash; I use fish now mostly).

When I say passable: in graduate school I wrote a Prolog interpreter in java (including parsing source code or REPL input), within which I could run the classic examples like append or (very simple) symbolic differentiation/integration. As an undergraduate I wrote a Mathematica program to solve the word recognition problem for context-free formal languages. But I'd need some study time to be able to write these languages again.

I don't know what the hell prompted me to reminisce about programming languages. I hope it doesn't come off as a humblebrag but rather like old guy spinning yarns. I think I've been through so many because I'm never quite happy with any one of them and because I've had a varied career that started when I was pretty young.

I guess I'm also half hoping to find people on here who have similar interests so I'm going to riddle this post with hashtags:

#C #R

rwxrwxrwx, to math
@rwxrwxrwx@mathstodon.xyz avatar

From the introduction of [1]:

"Our principal ambition for this paper is to make invitations to pure mathematicians to consider deploying constraint logic programming systems to assist in research, and to enthusiasts of the logic programming paradigm to consider applying their skills to problems in Lie theory. To this end we narrate a recent adventure searching for new simple Lie algebras over the field F2 = GF(2) of two elements in dialogue with the Prolog programming environment"

[1] D. Cushing, G. Stagg, and D. Stewart, “A Prolog assisted search for new simple Lie algebras,” Math. Comp., vol. 93, no. 347, pp. 1473–1495, May 2024, https://www.ams.org/journals/mcom/2024-93-347/S0025-5718-2023-03889-3/home.html

#prolog #math

afilina, (edited ) to random
@afilina@phpc.social avatar

Let's try something fun. When coding, what part do you start with? If other, please specify in replies.

aleks,
@aleks@hachyderm.io avatar

@afilina Yes, absolutely. Like Lego. Just need to make it all fit together, and the compiler tells me what I'm doing wrong.

Which also means that I'm hopeless in dynamic languages. The only ones I've been able to write any non-trivial code in are #lisp like #emacs Lisp, #racket and also #prolog. But I do it the same way there: I write the signatures first, and keep types in my head, or in docstrings right above the functions.

rzeta0, to ai
@rzeta0@mastodon.social avatar

If you struggled with the traditional #Prolog textbooks .. this short course was developed just for you.

✅ Develop understanding through hands-on bite-size examples.

✅ Example code is minimal to avoid distraction.

✅ Talk through how new ideas work, step-by-step.

✅ Avoid terminology and jargon if it is likely to hinder more than help.

YouTube: https://www.youtube.com/@prologbyexample/videos

Web: https://prologbyexample.blogspot.com/p/toc.html

GitHub: https://github.com/prologbyexample/code

Book: https://www.amazon.com/dp/B0BTQ7P69H/

#AI #logic #metaprogramming

boilingsteam, to ai
@boilingsteam@mastodon.cloud avatar
gvrooyen, to random
@gvrooyen@c.im avatar

Currently upping my #prolog -fu as a potential solution for a client who requires a scriptable rule engine. What a pleasure!

eibriel, to retrocomputing
@eibriel@sigmoid.social avatar
alex, to random
@alex@social.alexschroeder.ch avatar

I want to love Forth and Lisp and Perl and Go and I sort of want to know Rust and Haskell and OCaml and Elixir, but really, the most important electronic computing platform for the largest number people is … spreadsheets.
Formulas and graphs turn these into the multifunctional tool that spread from accounting specialists to financial reporting to project managers planning to household budgets to birthday and wedding guest lists.
If you think about it, spreadsheets for the masses succeeded where Emacs failed. Spreadsheets allow you to build the tools you need. And sure, as a programming professional I have heard my share of horror stories: salary distributions and bonus programs, airport light systems, and many other things that should have used relational databases and REST services and whatever. But people know spreadsheets and use them to solve their problems.
Spreadsheets are underappreciated. Certainly they are underappreciated by programmers, I think.

tetrislife,

@alex #Prolog is basically spreadsheet-like and programmers haven't gone near it. We just want to bang out code ...

draft13, to random

Is worth looking into these days?

tetrislife,

@draft13 lots of knowledgable replies. I haven't, but would like to, use #Squeak or #CuisSmalltalk as a productivity environment, as it was intended.

Separately, for a programming language, I am dabbling in #Prolog for the data centricity and the reduction in code that is possible.

teledyn, to emacs
@teledyn@mstdn.ca avatar

It's always something, even when doing nothing! For reasons likely unknown until holiday chaos settles, #emacs #orgroam no longer saves, kicking up

Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p nil)
org-roam-link-replace-at-point()

Messages shows:

Wrote ./daily/2023-12-24.org
org-roam-db-map-links: Wrong type argument: integer-or-marker-p, nil

tried org-roam-db-sync and there are now several dozen files kicking up that error (should I clear the db first?)

teledyn,
@teledyn@mstdn.ca avatar

@choanmusic

As it turned out, reverting to distro was a simple matter of deleting the site-lisp/org and restarting, and magically is working again, so that's a plus. Lilypond will just need to wait.

I spent years coding in , so my general solution to problematic things is "revert back to before your last decision, and make a different one" 🤣

mxp, to retrocomputing
@mxp@mastodon.acm.org avatar

Maybe Tesla should have called Turboman! #Prolog #retrocomputing

anderseknert, to random
@anderseknert@hachyderm.io avatar

Fantastic article on "Why logic programming is the best choice for " on Gusto's engineering blog. If you're curious to learn the history of , and why it's built on top ideas from logic programming, and , this is a great read.

https://engineering.gusto.com/why-logic-programming-is-the-best-choice-for-authorization/

macleod, to haskell

Various thoughts on too many programming languages, for no discernible reason.

I have been interested in Go since it's very initial release, but their dependence on Google is uncharming to say the least. I still haven't made up my mind on its GC, but its definitely better than most.

I used to do some ML work in .NET and if it wasn't dependent on Microsoft it would be a heavy contender for a great language, but it has far too many Microsoft-isms to ever really go much farther.

Rust is great, I enjoy beating my head against a brick wall battling with the compiler, and their safety is great, but overly complicated and feature-creep is a real problem on that entire project. I do a lot of work these days in Rust, for better (mostly) or worse (mostly-ish).

C is my bread-and-butter, as is Javascript for quick prototyping.

Elixir is great, but Erlang is unwieldy, the community is growing, but not fast enough - and I just can't get my mind to enjoy the syntax no matter how nice it is.

D is a lot of fun, but their GC can be slow at times, and the community is very small and packages are often broken and unmaintained.

Python was my first true love, but I really can't stand the whitespace, again love the language, hate the syntax.

Zig is fun, but just that. Fast, nimble, but early days, a bit confusing, could replace my insistence on C for core projects, but again, early days. I love to use them as a compiler for C, much faster than the defaults on any of the others.

Odin is one I love to keep an eye on, I wish I could get behind using it for more things. When I first took notice ~4 years ago the documentation was a bit scattered, but it looks much better now. The developer behind it is incredibly cool, could be seen as the next Dennis Ritchie imo. Runes are dope. The syntax is by far my favourite.

Julia, I love Julia, but performance last I tested was a bit of a miss, and by miss, it required a decent chunk of compute for basics, but when you gave it the system to throttle, it would be insanely productive to write in. Javascript is something that I prototype even syscalls in, but Julia is just the same but much better and more productive (and less strange) in many regards. I am really hoping this takes over in the ML/Data world and just eats Python alive. I've heard there has been major work in the perf department, but I haven't had reason to try it out lately.

Ada, memory safety before Rust! Great language, especially for critical applications, decades of baggage (or wisdom), slow moving language, insanely stable, compilers are all mostly proprietary, job market is small, but well paid, great for robotics, defense, and space industry types, but the syntax is... rough. Someone should make a meta-language on top of Ada like Zig/Nim/Odin do for C, or Elixir does for Erlang.

The others: Carbon, haven't tried; Nim, prefer when they were "Nimrod" (cue Green Day), decent but not my style; Crystal, seems cool, but not for me; Scala, great FP language, but JVM; Haskell, I'm not a mathematician, but my mathematician friends love it. I see why, but not my thing as much as I love functional languages. I'll try it again, eventually. I did not learn Haskell a great good.

I tend to jump from language to language, trying everything out, it's fun and a total timesuck.

[ # ] :: #c #d

leobm,
@leobm@norden.social avatar

@marcuse1w @macleod If you like , is an option. With there is also a stable erlang backend. Or I find very exciting in the erlang world (erlang and Javascript backend). Otherwise you might also like (native and wasm backend) if you are generally into ML languages. I also think is an extremely nice language. I've never understood what many people have against the syntax. I find it extremely simple and beautiful. Well, I also like 😉

indieterminacy, to random
MegaMichelle, to programming
@MegaMichelle@a2mi.social avatar

I've been reading about #Erlang lately. I'm a little disappointed. Erlang seems real good and powerful, but it's not nearly as weird as I thought. I had somehow gotten the impression that it was #Prolog-level weird, but it's only #Lisp-level weird, which is not actually all that weird these days, since everybody else added some functional elements to their languages.

So I was ready to have my mind blown, but instead I only got it expanded.

rml, to Java
@rml@functional.cafe avatar

, #C, et al: deontology
, , etc: metaontology
, , etc: ontology

, : phenomenology

textfiles, to random
@textfiles@mastodon.archive.org avatar

MIT Press maintains a set of their books that are listed as "Open Access", and of them, 297 different books and documents provide a helpful PDF edition of their titles.

I have "ported" these over to the Internet Archive where they live a life and have links back to their original MIT Press pages should you want to buy a hard copy:

https://archive.org/details/mit_press_open_access

sharedmuffins,

@textfiles
Missing: The Art of Prolog, Second Edition by Leon S. Sterling and Ehud Y. Shapiro.
https://mitpress.mit.edu/9780262691635/the-art-of-prolog/

natty, to random
@natty@astolfo.social avatar

Languages normally: Yeah serialization is hard, we

Python: Okay what if I stored my entire state in a file, including the program itself

tetrislife,

@lispi314 @natty also #Prolog, where the program state can effectively be dealt with as "just" a cache of computations that gets refreshed on every program start.

That is ignoring the gnarly bits like external state that no environment has a chance of getting right.

Also #Erlang, the other extreme where you can design for not letting the system go down at all.

leobm, to Lisp German
@leobm@norden.social avatar

Lisprolog - Interpreter (compiler) for a simple #Lisp, written in #Prolog

https://www.metalevel.at/lisprolog/

anarchopunk_girl, to ArtificialIntelligence

Does anyone on here know how to make a faster? I'm writing a language ala in Rust and it's already pretty slow (takes 1.11 seconds to find 20 answers) at even four rules deep and a database with 84 facts. Might it be string comparisons for variable names and such? If so, how would I accelerate that?

aslakr, to norge Norwegian Bokmål
@aslakr@mastodon.social avatar

Andre ting man finner i kjelleren. Reklamebladet Apple Nytt ( ?) fra 1991, som inneholder et intervju med Kristen Nygård om og .

Redaktør er informasjonssjef Gunnar Evensen

aslakr, (edited )
@aslakr@mastodon.social avatar

@LarsFosdal Hvordan så Smalltalk/V 286 ut? Var den tekstbasert?

Denne #Byte-reklamen fra 1986 https://archive.org/details/byte-magazine-1986-10/page/n108/mode/1up omhandler kanskje 286-utgaven, hvor billigutgaven (Methods) er tekstbasert. Jeg viste at #Lisp og #Prolog var med på AI-hypen, men ikke at Smalltalk var en del av dette.

Det var kanskje #VisualWorks som ble brukt i undervisninga for introduksjon til OOP på IFI (i Trondheim) på midten av 90-tallet, før Java tok over.

upmultimedia, to random
@upmultimedia@mastodon.gamedev.place avatar

Just found there's some #prolog folk on masto. I love that language so much. Hashtag subscribed!

I would love to know if there are any other games on steam (partially) written in prolog. Even though I did that I still don't understand it. But it is perfect for murder mysteries.

Pretty amazing that a language 50 years old still has a few tricks up its sleeve.

nil, to random
@nil@functional.cafe avatar

Ghosts of future past.

nil,
@nil@functional.cafe avatar

@hugoestr it was one of the first languages to implement #CSP (C.A.R. hoares process calculus formalism) specifically to work on the #inmos transputer (a multi processor computer from the 80s as they saw the writing on the wall wrt moores law coming to an end.. they were just 30ish years early). The reason I am obsessed with it is the same reason I love #lisp #forth #ml #prolog and #smalltalk - there is something endlessly fascinating about the roots of computing. Especially when it is so applicable to modernity (eg we are all programming with concurrency now).

  • All
  • Subscribed
  • Moderated
  • Favorites
  • anitta
  • rosin
  • InstantRegret
  • ethstaker
  • DreamBathrooms
  • mdbf
  • magazineikmin
  • thenastyranch
  • Youngstown
  • GTA5RPClips
  • slotface
  • Durango
  • khanakhh
  • kavyap
  • megavids
  • everett
  • vwfavf
  • Leos
  • osvaldo12
  • cisconetworking
  • cubers
  • modclub
  • ngwrru68w68
  • tacticalgear
  • provamag3
  • normalnudes
  • tester
  • JUstTest
  • All magazines