Linuxkompis

En vänlig Linux-gemenskap för alla.

Du är inte inloggad

#1 2019-07-09 19:36:04

cess11
Medlem
Från: Internet
Medlem sedan: 2019-07-09
Inlägg: 20

Vilka språk använder ni?

Picolisp för snabbt skriptande och webbutveckling i LAN.

Julia för snabba flyttalsberäkningar och grafer. gForth i Raspbian, pForth i Termux, Factor i fullstor dattamaskin, för att stackspråk är hur kul som helst. C för att hålla minnet levande, Python/Ruby/Lua för att konfigurera suspekta och/eller annars vettiga verktyg.

PHP, JS, bash i lönearbetet.

Använder vim om inte språket har ett REPL som är trevligare att koda i.

Skulle vilja sitta mer med Prolog men har inte tid.

Frånkopplad

#2 2019-07-10 11:39:08

rasmus
Medlem
Från: Örebro
Medlem sedan: 2019-07-04
Inlägg: 15
Hemsida

Re: Vilka språk använder ni?

Språket jag använder mig absolut mest av är Go. Fastnade på direkten för det, för det känns lika lätt som ett skriptspråk. Har gjort några halvhjärtade försök till att lära mig C och C++, men det har aldrig kommit någon vart.

Annars kan jag Python, PHP och javascript ganska bra. Men PHP blir det nästan aldrig något programmerande i längre, för då föredrar jag Go. Men Python och javascript händer det att jag kodar i.

Som utvecklingsmiljö använder jag vim eller Visual Studio Code (med vim-plugin).

Frånkopplad

#3 2019-07-10 19:26:29

cess11
Medlem
Från: Internet
Medlem sedan: 2019-07-09
Inlägg: 20

Re: Vilka språk använder ni?

Körde lite Go ett tag för något år sedan, finns eller fanns en rätt bra webbspindel skriven i det som jag glömt namnet på. Hade gillat det om inte Google hade envisats med att stoppa in små bisarra syntaxdetaljer som bara syftar till särart eller intern produktivitet, och retade mig på att det var rätt kämpigt att sätta upp build-processen och börja bygga saker.

Så småningom gick jag helt enkelt över till att använda coroutines och forks i picolisp istället, det är inte anropskontrollen som är flaskhals utan att servrar är slöa på att svara och Linux-kärnan fixar planering av trådar alldeles utmärkt på egen hand om man kastar ett par tusen på den och håller tummarna.

Men jag förstår vad folk gillar med det, det verkar svårt att skriva obegriplig kod i det än så länge. Med tiden lär det väl få samma problem som Java och folk kan leva gott på att ha orkat lära sig den eller den industrins API:er.

Att skriva PHP är lite som att ha grav epilepsi, man måste hela tiden vara väldigt försiktig med hur man uppför sig, men det är helt okej att knega med om man gillar svåra pussel som andra råkat bygga.

Frånkopplad

#4 2019-07-15 06:26:04

owi
Medlem
Från: Sweden
Medlem sedan: 2019-07-15
Inlägg: 3
Hemsida

Re: Vilka språk använder ni?

I hobbyprojekt kodar jag nästan uteslutande Haskell, med avvikelser åt mer obskyra språk jag blir nyfiken på. Har en orealiserad dröm om att bygga något användbart i OCaml, men det har inte blivit av ännu.

På jobbet är det för närvarande mest Haskell, men även Clojure, Go, och lite annat.

Picolisp hade jag inte härt om tidigare. Intressant!

Frånkopplad

#5 2019-07-15 19:29:33

cess11
Medlem
Från: Internet
Medlem sedan: 2019-07-09
Inlägg: 20

Re: Vilka språk använder ni?

owi skrev:

I hobbyprojekt kodar jag nästan uteslutande Haskell, med avvikelser åt mer obskyra språk jag blir nyfiken på. Har en orealiserad dröm om att bygga något användbart i OCaml, men det har inte blivit av ännu.

På jobbet är det för närvarande mest Haskell, men även Clojure, Go, och lite annat.

Picolisp hade jag inte härt om tidigare. Intressant!

Gillar ML-språk i teorin men spenderat för lite tid med dem för att bli flytande och lära mig de eleganta teknikerna i dem. Lite samma med Common Lisp, som jag i och för sig läser ganska obehindrat men skulle ha svårt att skriva applikationer i. I praktiken är Common Lisp förvisso mer objektorienterat än Haskell och OCaml men de är alla tre språk jag skulle tycka att det var kul att bli skickligare i.

Innan jag hittade picolisp körde jag Clojure en del, det är riktigt kul för att vara på JVM. Har dock inte lönearbetat med någon av dem, mer än att jag skriptar saker i picolisp emellanåt, ofta enklare och snabbare än att t.ex. ta till bash och curl för att kolla ett API eller skriva en textparser på något annat sätt.

Säg till om du behöver hjälp med picolisp, jag har ganska stora luckor men har kläm på själva lispbiten och mycket av pipe- och textbehandlingsfunktionerna. Kan objektdatabasen rätt väl också, använt det mycket för att läsa in och behandla kul öppen data, men har bara ett rudimentärt grepp om pilog.

Har du kikat på Factor?

Frånkopplad

#6 2019-07-20 03:04:38

autom
Medlem
Från: Helsingborg, ungefär
Medlem sedan: 2019-07-19
Inlägg: 5

Re: Vilka språk använder ni?

För webbprojekt brukar jag använda PHP (som jag ogillar, men behärskar långt bättre än alternativen), annars blir det nästan uteslutande C eller C++. Om någonting måste fungera omedelbart (eller gärna för en halvtimme sedan) blir det ett hafsjobb i Python eftersom det är enkelt att hämta data från både webbsidor, databaser, Excel-ark och hembyggda filformat.

Go, Java, Lua, Ruby och JavaScript har jag aldrig fattat tycke för och försöker undvika, men ibland är man så illa tvungen.

Jag gillar BASIC, troligen enbart av nostalgiska skäl, men det är tyvärr inte särskilt bra för någonting. Mitt första stora programmeringsprojekt var att bygga en webbserver i BASIC, på den tiden då datorn körde Windows XP och bloggar var den nya flugan, men gav upp efter några månader när åskan slog ner i telefonledningen och dödade datorn.

Frånkopplad

#7 2019-07-20 10:28:20

cess11
Medlem
Från: Internet
Medlem sedan: 2019-07-09
Inlägg: 20

Re: Vilka språk använder ni?

autom skrev:

För webbprojekt brukar jag använda PHP (som jag ogillar, men behärskar långt bättre än alternativen), annars blir det nästan uteslutande C eller C++. Om någonting måste fungera omedelbart (eller gärna för en halvtimme sedan) blir det ett hafsjobb i Python eftersom det är enkelt att hämta data från både webbsidor, databaser, Excel-ark och hembyggda filformat.

Go, Java, Lua, Ruby och JavaScript har jag aldrig fattat tycke för och försöker undvika, men ibland är man så illa tvungen.

Jag gillar BASIC, troligen enbart av nostalgiska skäl, men det är tyvärr inte särskilt bra för någonting. Mitt första stora programmeringsprojekt var att bygga en webbserver i BASIC, på den tiden då datorn körde Windows XP och bloggar var den nya flugan, men gav upp efter några månader när åskan slog ner i telefonledningen och dödade datorn.

PHP betalar mitt uppehälle så på fritiden brukar jag hålla mig till lite mer eleganta språk om det går, men mina webbhotellskonton är alla PHP-baserade. Det är ett okej språk, pallar man inte Java och saknar erfarenhet av funktionella språk är det ungefär det bästa man kan välja. Många gillar Python men det tror jag delvis är för att de inte hållit på så länge och inte märker att VM:en är seg och läcker på en massa olika sätt.

Har du kikat på Julia? För snabba hack med lite webbskrapning, enklare databaser m.m. tycker jag det är trevligare än Python, lite mer robust och allmänt lätt att ha att göra med. Använder det mest för att slå fram grafer, har inte orkat skriva plotverktyg till picolisp än.

Skrev mitt projektarbete i gymnasiet med OpenGL i C++, det var i och för sig kul men viktigaste lärdomen för min del var att jag föredrar C och struct om jag måste ha den typen av prestanda, och sen blev det mest webbspråk och diverse SQL-dialekter under ganska många år. Ser idag C mest i disassembler-sammanhang, faktiskt, men hankar mig fortfarande fram hjälpligt om jag behöver skriva eller justera något i det. Efter en arbetsvecka med problematisk legacykod i PHP och JS är det avkopplande att sitta med radare2, strings och strace några timmar på helgen, brukar bli det eller lispspråk för att tvätta hjärnan.

Det bästa med JS är för övrigt att det finns så många smidiga sätt att transpilera till det så man behöver inte skriva det för hand längre. Mest använt ClojureScript och gillar det skarpt men tycker man att Python är okej kanske ML-stil på värdspråket passar bättre.

Skrev en hel del QBASIC på gymnasiet, bland annat bisarr enkanalig musik, delvis för att jag lärde mig C64 BASIC som barn. Det är lätt att göra små applikationer i, lite som att skriva recept. Verkar gå att skriva webbserver hyfsat kompakt i en del dialekter, t.ex. https://rosettacode.org/wiki/Hello_worl … #BBC_BASIC.

Frånkopplad

#8 2019-07-20 11:58:59

rasmus
Medlem
Från: Örebro
Medlem sedan: 2019-07-04
Inlägg: 15
Hemsida

Re: Vilka språk använder ni?

cess11 skrev:

Det bästa med JS är för övrigt att det finns så många smidiga sätt att transpilera till det så man behöver inte skriva det för hand längre. Mest använt ClojureScript och gillar det skarpt men tycker man att Python är okej kanske ML-stil på värdspråket passar bättre.

Du verkar tycka om Lisp. Nu blir det kanske lite off topic, men har du några tips för att komma igång med det? Skulle vara kul att testa någon typ av språk. Verkar finnas så många olika varianter.

Frånkopplad

#9 2019-07-20 13:26:02

cess11
Medlem
Från: Internet
Medlem sedan: 2019-07-09
Inlägg: 20

Re: Vilka språk använder ni?

rasmus skrev:
cess11 skrev:

Det bästa med JS är för övrigt att det finns så många smidiga sätt att transpilera till det så man behöver inte skriva det för hand längre. Mest använt ClojureScript och gillar det skarpt men tycker man att Python är okej kanske ML-stil på värdspråket passar bättre.

Du verkar tycka om Lisp. Nu blir det kanske lite off topic, men har du några tips för att komma igång med det? Skulle vara kul att testa någon typ av språk. Verkar finnas så många olika varianter.

Beror lite på vad du vill göra. Om du bara vill hacka lite och lära dig mer om funktionell programmering skulle jag säga picolisp, det är lite säreget men snabbt och enkelt att komma igång med. Kan du lite terminalverktyg kan du börja med att använda pipes till dem för att få saker att hända i stort sett på en gång. Hela VM:en är typ en halv megabyte och du får webbserver och databas på köpet. Man kan öppna en pipe med 'in (eller 'out), 'make och 'link bygger listor utan att man behöver tänka lika mycket som med 'cons så man kan läsa in en fil till en lista så här:

: (make (in "filnamn.txt" (until (eof)(link (line T]

Samma med en webbsida genom att pipe:a till w3m (kunde lika gärna vara wget, curl, headless Chrome, osv.):

: (make (in (list 'w3m "webbadress.nu") (until (eof)(link (line T]

Skriva en rad till en fil:

: (out "filnamn.txt" (prinl "jag har glömt mitt paraply"]

Om du vill söka i text kan du använda 'match:

: (match '("a" "b" @A "e") '("a" "b" "c" "d" "e"))
-> T
: @A
-> ("c" "d")

Man trycker in @Var där man vill veta vad som finns i en sträng (vilket kan vara en 'ström', dvs. inklusive vagnreturer osv., null terminerar) och sedan innehåller @Var vad som finns där och man kan behandla det vidare. Vill du veta vilka taggar som finns i en XML-fil kör du '("<" @A " " @B) och stoppar @A i en lista. Finns syntaxsocker på det också, 'from och 'till. Mycket praktiskt för att kunna filtrera på ord och taggar i t.ex. filer eller webbsidor.

För asynkron körning kan man använda coroutines eller en lispwrapper kring fork() och prata IPC, och det finns utmärkt stöd för att distribuera applikationer över nätverk. 

För att lära sig grunderna för hur man hanterar och bygger listor i lispspråk är det exceptionellt låg tröskel, finns paket i de flesta linuxrepon. Gillar du C finns syntaxsocker både för att passa inline-C till gcc och ett välfungerande C-FFI.

Du kommer åt dokumentation direkt i REPL, (doc 'car) för att läsa om 'car. (vi 'dinfun) öppnar källfilen för din funktion i texteditor och när du ändrat läser du in det med (ld).

Finns enorma mängder exempelkod att leka med, Rosetta har massor, dokumentationen är rik och det finns repon med både stora samlingar fragment och diverse praktiska bibliotek. Det har stöd för UTF-8, vill du hantera andra charset är det enklast att tvätta texten med pipes till och från iconv men det är inte särskilt krångligt. I början kan det vara knepigt att använda fixnum istället för flyttal men det finns bra webbmaterial om det.

https://www.picolisp.com

Kan du lite Java är Clojure ett trevligt alternativ men JVM kan vara lite bökig att installera och ha att göra med. Enklast är antagligen att installera Nightcode, https://sekao.net/nightcode/. Det är inte alls lika lättviktigt som picolisp, JVM:en är en tjockis, och Clojure är ett mer komplext lispspråk men väldigt trevligt att ha att göra med. Gillar du webbprogrammering är ClojureScript, Clojure som transpileras till JavaScript, en ganska smidig lispintroduktion, antagligen enklast att använda Nightcode:s systerprojekt, https://sekao.net/lightmod/.

Om JVM är lite för mycket för att börja och picolisp verkar vara för säreget så är clisp en bra början. Jag använde den mycket för flyttalsberäkningar innan jag vant mig vid fixnum i picolisp. Common Lisp är i praktiken tämligen objektorienterat men har utmärkt stöd för REPL, inspektering och utveckling av applikationer medan de körs, osv. Styrkan i det är att det kompilerar till rätt bra prestanda.

Den klassiska boken om de teoretiska aspekterna är SICP, Structure and implementation of computer programs, men den är lite som ett dragrace, varvar ur på försättsbladet och sen drar den iväg och saktar inte in förrän den börjar ursäkta att den introducerar state någonstans mitt i, sen drar det iväg igen. De använder Scheme-lisp och du kan använda t.ex. Clojure, Guile eller Racket för att hänga med, men det är heller inte svårt att använda picolisp även om det blir mindre skillnader mot exemplen i boken. Gratis och webbföredrag som hör till en universitetskurs den används för är fritt tillgängliga. Finns också en serie böcker som heter varianter på The little schemer, de är alla bra, inklusive The reasoned schemer som mer handlar om logikprogrammering.

För att lära sig grunderna, som prefixnotationen eller att skriva sin kod som så små funktionsfragment som möjligt och att använda listor för att bygga mer komplexa datastrukturer är picolispdokumentationen fullt tillräcklig. Min erfarenhet är att det är att börja experimentera i ett REPL som är viktigast, resten ger sig eftersom.

Har några mer eller mindre korkade picolisp-exempel här, https://github.com/cess11/pil-tinies, men de använder databasen ganska frekvent. Tankfeeder:s repo är ett av de bästa, https://bitbucket.org/mihailp/tankfeeder/src/default/, han gör allt från småapplikationer till Advent of Code-lösningar.

Senast ändrad av cess11 (2019-07-20 13:39:34)

Frånkopplad

#10 2019-07-24 11:03:32

selea
Administratör
Medlem sedan: 2019-07-04
Inlägg: 16

Re: Vilka språk använder ni?

Är tyvärr för dum för att knacka kod, men jag scriptar lite i bash bara.

Frånkopplad

#11 2019-07-24 17:16:13

Saraldor
Medlem
Medlem sedan: 2019-07-09
Inlägg: 11
Hemsida

Re: Vilka språk använder ni?

har inte skrivit mer kod än det jag gör när jag gör lite PHP script till diverse sidor. Skrev en del Basic spel på 90-talet. Gjorde en del små spel.


Besök min blogg: The True Story About Me

Frånkopplad

Sidfot