This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # beginners (166)
- # cider (6)
- # cljs-dev (12)
- # cljsrn (64)
- # clojure (71)
- # clojure-chicago (1)
- # clojure-spec (14)
- # clojure-uk (2)
- # clojurescript (25)
- # datomic (2)
- # docs (1)
- # duct (1)
- # emacs (4)
- # fulcro (5)
- # graphql (3)
- # java (46)
- # mount (5)
- # off-topic (29)
- # onyx (1)
- # portkey (10)
- # re-frame (12)
- # remote-jobs (1)
- # shadow-cljs (46)
- # spacemacs (1)
- # specter (4)
- # vim (2)
@qqq Not sure I would call it trivial. Simple forth programs are just a list of words and that is easy enough, BUT iirc you get words that redefine the way words are defined. Then it can get pretty interesting.
I'm talking about decompilation, not comprehension. Most Forth 'compilers' I have read about are more like "interpreters" with the word definitions -- this seems much easier to recover the source from compared to, say, cljs :optimization :advanced .
@qqq, that can be true, but forth is also very low level, so I think it would be a bit hard to recover the output of a compiled forth program. It'd basically look like a pile of jumps and addresses
Forth interpreters do have the dispatch of looking up a global name, and finding the location to jump to. Remove that, and replace it with just the jump locations and now have pretty unreadable code
@tbaldridge: I see, so once laundry = clothes get basket put-in downstairs goto washer put-in wash washer get-from dryer put-in dryer get-from upstairs goto becomes loc 79 = jump 23 489 298 . 4389 2 3 4 1 9 loc 23 = jump ... then it's not very easy to 'read back'
right, and add in direct threaded code (as shown here: https://www.sifflez.org/lectures/ASE/C3.pdf starting at slide 8 ) and its even worse
Can anyone become a programmer even if he/she has not written a single line of production code ?
@suryabinary That's an interesting question. I think "anyone" can learn programming to some level. But being a programmer as a career? There are a lot of things that go into being a professional programmer...
...my wife, for example, can design data models, and complex mathematical and statistical systems, but when it comes down to actual coding, by her own admission, she's pretty hopeless (and she hates how fussy most programming languages are about syntax).
On the other hand, I've run into a lot of people who can code just fine, but they have no grasp of system design or software architecture so what they build is an unmaintainable mess (but a lot of those folks can still make a living at it!).
Im in the commerce stream ..i got interested in programming last year..and I have tried some of the most well known languages..grasped the fundamentals..but I know I'm not at a professional level to code for a Living..so I intend to do marketing for a living and do code as a hobby
Every professional programmer was a beginner once -- coding as a hobby is a good way to get started. It takes a certain amount of persistence to stick at coding and learning and improving.
I got into programming via a programmable calculator back in the day. You couldn't do much with it, but it piqued my interest, so when I went to university, I chose math + comp sci and played around with lots of different languages. I liked some more than others.
Python's a nice language. I was curious about it and PyCon was local to me in 2013 so I bought a ticket and enjoyed learning all about it. I'd never written a line of Python before that!
@suryabinary I just answered your
:aot :all question in #beginners -- looked like that went unanswered earlier.
@suryabinary Going through different programming languages is by no means a problem in the beginning I would say. You might be a bit more confused. But as programming languages have so much in common you will find the same concepts again and again and then one day it will just click for the most parts. At the same time you will also start to see the differences and that every programming language has a few distinctive features, which are the reason for their existence.
Just take it easy on you, one can get frustrated fast and if that happens take a break, free your mind until you are ready to get started again.