TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

What languages changed the way you think about programming?

14 pointsby jfeabout 10 years ago
"A language that doesn't affect the way you think about programming, is not worth knowing." - Alan Perlis

22 comments

wglbabout 10 years ago
Fortran II, which was my first language. Learned it in Union Station in Chicago, waiting for the train back to Montana at Christmas break in my Freshman year.<p>XPL, after my very contentious relationship with Fortran II developed, changed not only my thinking about programming, but pushed me into a career in Compilers.<p>Then Lisp, after a 40 year interval (introduced in a &quot;survey&quot; class in my senior year at NWU), came into full bloom as my tool for most everything these days.<p>And RPG III for a reflection on its ancestry of Plugboard machines (not meant in a disparaging way). But the truth is that was likely the only way that I would have come to appreciate COBOL.<p>Bliss 36 as a precursor, of sorts, to C, on a high-level language used to write said compiler in.<p>I had a rather ho-hum reaction to C, as all the work in in the Sigma5&#x2F;RBM interrupt-rich environment made it hard to accept the compromises that were, and are, C.<p>But C was a lesson in engineering to me. Engineering, in my simple country boy definition, is finding the solution to a problem with 5 mutually exclusive constraints. Studying C carefully shows you those. Unless you have designed a language, you may not have access to the full appreciation of it.<p>Syclops (yes, that is the spelling--the company was named Sycor), the language that three of us designed and built a compiler for back in the 1970s. It was a very simple language, in the spirit of PL&#x2F;M, but it was a lesson in the combinatorial potential lurking behind even a very simple language. Three of us were a bit clueless that you couldn&#x27;t build a compiler in a year, but we ended up doing it. And one of us was a student of Ullman; wrote a paper on a particular aspect of error recovery for LALR parser. Targeting the 8085, no less.<p>The PDP-10 assembler language for unmatched beauty and power in an assembler. 8086 is not very pretty in comparison.<p>Smalltalk, which taught me that with a good development environment, you can feel drained after putting in 8 hours of programming, because you are not waiting around for any compile, ever. And that OO programming in other languages (C++, I am looking at you) is but a pale imitation.<p>Oh, and Forth, for a way to build astonishingly complex behavior with extremely simple hardware.<p>Edit--typos
ggchappellabout 10 years ago
A few highlights spanning multiple decades, in chronological order:<p>C - The concept of a memory address as a manipulatable <i>thing</i> is a powerful one (and, yes, also a dangerous one).<p>Forth - Composable components are a great way to build systems.<p>Perl[+Shell] - Write little programs that muck about with text, and then link them up. High-level abstractions (associative data, regular expressions, etc.) can be practical things, not merely pipe dreams that exist only in textbooks on data structures &amp; algorithms.<p>C++ - Strong support for abstraction makes one rethink a lot of things.<p>Python - <i>Everything</i> can be a little blob with attributes I can mess with. Comprehensions are awesome. (And a PL at about the same level of abstraction as Perl can still feel sane.)<p>Haskell - Type systems can be helpful. Mutable data is bothersome. Tossing around functions is great. Syntax can be simple without being confining (lookin&#x27; at you, Forth). Recursion + TCO is a Good Thing (lookin&#x27; at you, Python).<p>----<p>If I had to pick just one, it would be Haskell.
siddbootsabout 10 years ago
SQL.<p>I had already done some Prolog in CS class, and I thought that I knew what it was all about. Writing thousands of queries as a data analyst made me really think about how to reason logically and constructively. I&#x27;m still often surprised just how much can be accomplished with a query engine alone.<p>People talk about logic programming as if it has fallen from grace and will never be able to deliver on its promise, but I&#x27;m convinced it is yet to make its biggest impact.
srirangrabout 10 years ago
Python - The first time I realised how small and simple instructions can get the desired output.<p>JavaScript - Being a multi-paradigm language, it helped me in understanding different paradigms of programming language.
brudgersabout 10 years ago
Ken Iverson&#x27;s J.<p>And runs on Android.<p><a href="http:&#x2F;&#x2F;www.Jsoftware.com" rel="nofollow">http:&#x2F;&#x2F;www.Jsoftware.com</a>
JoachimSabout 10 years ago
ML (the functional language) after 10 years with only assembler. It was a bit of a leap. ;-)
timClicksabout 10 years ago
Erlang - I seem to try to emulate isolated processes everywhere now
Johnny_Brahmsabout 10 years ago
You learn something from all languages . some languages however changed how I program. Forth(or more specifically, factor) and scheme changed the way I wrote programmes.<p>Factor and racket&#x2F;ironscheme are my go to languages for my own projects for a long time. I wish I was smart enough to do APL stuff, but my programmes are generally not the ones that would benefit from the strengths of APL.
raffyabout 10 years ago
Mathematica greatly expanded the space of things I can efficiently prototype. It&#x27;s my starting point for almost any problem. If you find yourself saying &quot;I don&#x27;t want to waste my time coding that&quot; or you resort to gut-feelings when data is available, Mathematica is an awesome tool to have in your problem-solving toolkit.
bozoUserabout 10 years ago
Scala - wiring the concepts of immutablity and stateless functions and the power it gives the programmers is astonishing.
评论 #9433838 未加载
bandramiabout 10 years ago
Well, my first languages were Forth and Logo, back in 1983. So when I was introduced to Basic 5 years later I thought &quot;what the #$&amp;@ is this crap?&quot;. Since then, Joy and Dylan really made me re-think things. As did Mixal.
jquastabout 10 years ago
C.<p>After I wrote a scripting language in C from out of a book, errors from all other programming languages themselves written in C (Java, python, ruby, tcl, perl, php, etc.) made perfect sense, especially in regards to tokens and AST&#x27;s.
convivialdingoabout 10 years ago
In all honesty, assembler.<p>The downside is that I now see high-level languages as they really are. Some languages are really beautiful, but many are just mind tricks and special calling conventions.
M8about 10 years ago
C#, F#, JavaScript (by just how bad it is), SQL, Erlang
pcuniteabout 10 years ago
Delphi (Object Pascal) was my first real ah-ha moment.
moru0011about 10 years ago
smalltalk
zen3dabout 10 years ago
Scheme and SICP
srinivas1990about 10 years ago
Java, I can build web and desktop applications and it is suitable for research based applications also. lot of libraries available in java
AnimalMuppetabout 10 years ago
Perl. No, really. Hear me out.<p>&quot;Read in a line. If it ends in a newline, remove it.&quot; We (humans) talk to each other that way. We use words like &quot;it&quot;. But we can&#x27;t talk to the computer like that. &quot;Read in a line <i>from where</i>? Put it where? If it ends in a newline? If <i>what</i> ends in a newline?&quot;<p>But in Perl, you can say &quot;read in a line&quot;, and it means &quot;read it from the standard place, since I didn&#x27;t specify, and put it in the default variable, since I didn&#x27;t specify that either&quot;. And &quot;if it ends in a newline&quot;? Well, since I didn&#x27;t specify, that means &quot;if the default variable ends in a newline&quot;.<p>This &quot;natural language-like&quot; approach to Perl is, I think, one of the really interesting ideas in programming. It shows that Larry Wall came from a linguistic background. (Note well: When I say &quot;natural language-like&quot;, I am <i>not</i> referring to Perl&#x27;s syntax!)<p>Other things I find really interesting:<p>C++: RAII.<p>Java: reflection.<p>Lisp: macros.<p>Haskell: the type system.
jdeisenbergabout 10 years ago
Erlang
ksherlockabout 10 years ago
erlang, k.<p>(Intentionally excluding languages I use on a more frequent basis.)
elinchromeabout 10 years ago
ruby and angular
评论 #9434333 未加载