
Ask HN: Do you use a language not normally associated with web development? - open-source-ux
When I say web development, I mean specifically server-side programming rather than client-side programming.<p>Examples of languages that <i>are</i> associated with server-side programming (some more strongly than others): PHP, Python, Perl, Javascript, Java, Go, Ruby, Haskell, Erlang, Scala, C#, ASP.NET, Lua (and no doubt others I may have missed).<p>But is anyone using a language that isn&#x27;t normally associated with server-side programming? For example: Ada, C, D, Eiffel, Smalltalk, Oberon, Pascal, Basic, Prolog...or some other language?<p>If you are using a language not normally associated with web development, what are your reasons for using that language? Is it familiarity or fluency? It for speed or performance reasons? Is it because of unique features you miss in other languages? (Or the way a feature is implemented?)<p>Is there a lack of web-related libraries for your language, and if so has it ever been a problem?
======
Aij7eFae
I used to work for a company which heavily used TCL[0].

When I started working there, I really questioned his decisions about the
stack and the language in general ( everything is a string )

After a few weeks I realized that, this stack was blazing fast in combination
with the NAVI[1] server which is written for high performance web sites.

This guy wrote everything you could possibly think of in TCL.

That company is powering a ton of enterprise grade e-commerce web sites.

I still see it as a secret weapon and I'd probably use it as well if there
wasn't my fetish for statically typed languages.

edit:

As a side note, I'd like to mention that this guy taught me that I shouldn't
go with the hype but just choose a language/framework that helps me finishing
my projects.

[0] [https://en.wikipedia.org/wiki/Tcl](https://en.wikipedia.org/wiki/Tcl) [1]
[https://en.wikipedia.org/wiki/NaviServer](https://en.wikipedia.org/wiki/NaviServer)

~~~
147
I'm interested in hearing more. Are you allowed to tell us more about the
company? Number of employees? It sounded like you got hired to do TCL without
knowing TCL. Why was it a secret weapon? Was it productivity?

~~~
Aij7eFae
> Are you allowed to tell us more about the company? Number of employees?

We were around 15 people ( sales, design not included )

> It sounded like you got hired to do TCL without knowing TCL.

Indeed, in their job description, they just wrote that I had to be curious and
willing to learn something unusual. They didn't mention TCL.

> Why was it a secret weapon?

I would say flexibilty, it was quite impressive to watch how his very own web
framework evolved. He would check out new frameworks over night, if he liked
some patterns/features etc. from other frameworks, he would just put it into
his own framework over night.

The most impressive part, was probably the loose coupling of all the software
components.

There wasn't some kind of an ORM, just pure handcrafted optimized SQL.

The secret weapon was, how he ignored other opinions.

Just a few examples, for some people OOP is the way to go, anything else is
just unacceptable. They are forcing themself into a corner with limited
options. I agree, OOP is awesome but it's not the solution for all our
problems, in TCL we just could switch from OOP to imperative or to functional
without breaking anything.

As already described above, plain SQL is already the best DSL for databases,
we didn't have any abstraction layer on top of that, which we had to learn.

I don't agree with all his opinions but I do agree on the fact, that we
software engineers tend to over engineer things.

------
bbcbasic
Crazy world where JS is considered server-side but C isn't.

------
_RPM
What is C associated with if it isn't "server side". It must be be server
side, you can't exactly compile and run C code "client side".

~~~
open-source-ux
Sorry, my fault for being unclear. When I said server-side, I meant languages
used for creating dynamic web sites rather than for writing web server
software.

Obviously, C is used for writing server software like Apache and Nginx. And
also used for implementing interpreters for dynamic languages like PHP.

However, my impression(which may be incorrect) is that C isn't normally used
for creating dynamic web sites in the same way as PHP or Python. Hence, why I
put it in the category of languages not typically associated with web
development.

~~~
vram22
>However, my impression(which may be incorrect) is that C isn't normally used
for creating dynamic web sites in the same way as PHP or Python.

Likely true. FWIW, there is a web framework for C++.

[https://www.webtoolkit.eu/wt](https://www.webtoolkit.eu/wt)

Also just googled for "C++ web framework", there are others like TreeFrog,
which seems to be updated this year.

Don't know more as of now.

------
dreamdu5t
I'm using PureScript because it is purely functional and has a powerful type
system like Haskell, but compiles to JS with easy FFI and I can use it with
webpack. I'm writing both a backend API server and frontend app with it. It's
been amazingly productive and a godsend for writing type-safe JS.

On the front-end, it has purescript-pux, which is pretty much a port of the
Elm architecture. The language/community is really shaping up.

------
i_feel_great
Smalltalk: Pharo for personal projects, VA Smalltalk for work. Scheme: I am
rewriting all my automation scripts in GNU Guile. Erlang: When my Smalltalk
Seaside prototype sites cannot handle the load, I will rewrite in Erlang
Cowboy.

------
aprdm
I've worked with C, C++ and VHDL. Now a days mostly Python. It's much more
productive.

EDIT@ Oh, you mean to actually do web dev with one of those languages, no,
never did web dev with C or C++ sorry

------
147
I really, really, want to use Racket and have been looking into it some more.
But the problems are lack of web libraries and a slow http server (which can
be fixed).

