This is not even a joke anymore: Doom renderer written in Rust.
More you might like
If you go to http://rust-lang.com rust eats your laundry. No joke.
Seriously though. It’s bad for a language site to go shedding ugly errors like that. Bad rep.
Rust v/s Go popularity
So I just made a quick check on the popularity of Rust and Go programming languages. Because it turns out I will learn them both in the months to come.
- Github (Repos created until Oct 13 2014):
- Go: 26425
- Rust: 2802
- Stackoverflow (Questions tagged until Oct 14 2014):
- Go: 6795
- Rust: 802
Here are some shallow opinions on both languages that I think are interesting:
Thoughtworks:
The Go language gradually changed status from “Just Another Language” to a valuable tool in many projects. While steadfastly single paradigm in a world of increasingly complex languages, it seems to keep a nice balance between expressiveness, power, and simplicity.
Rust is a system programming language with modern affordances. It features a rich typing system, safe memory model and task-based concurrency. Compared to the Go language, Rust is more friendly to people who would like to write code in a functional style.
On the long run I’ll make my systems related software in Rust or Haskell and my web applications in Go and Javascript. Or at least that’s the plan.
This is the longest I’ve ever compiled anything…
BEFORE you try anything bellow, try installing cargo. It turns out it was the last thing I installed and apparently it has a dependency backup system… *facepalm*.
# Boredom. AKA: How to install Rust on a shared Bluehost server.
# I don't think these instructions will work out of the box.
# But its a start.
# Install Rust
git clone https://github.com/rust-lang/rust.git
cd ~/rust
./configure
# ______ Error ______
#
# checking whether GCC is new enough... no
# configure: error:
# The selected GCC C++ compiler is not new enough to build LLVM.
# Please upgrade to GCC 4.7. You may pass --disable-compiler-version-checks to configure to bypass these sanity checks.
# configure: error: LLVM configure failed
#
# ______ Error ______
# Upgrade python
mkdir ~/python
cd ~/python
wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
tar xvfz Python-2.7.8.tgz
cd Python-2.7.8
./configure -prefix=$HOME/python
make
make install
printf "\n# Local Libs \nexport PATH=\$HOME/python/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
# Install pip
wget https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz
tar xvfz pip-1.5.tar.gz
cd pip-1.5
python setup.py install
#install bzr()
pip install bzr
# zlib() not found?
mkdir ~/src/zlib
cd ~/src/zlib
wget http://zlib.net/zlib-1.2.8.tar.gz
tar xvfz zlib-1.2.8.tar.gz
./configure --prefix=$HOME/local
make
printf "\n# Local Libs \nexport LD_LIBRARY_PATH=\$HOME/local/lib/:\$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc
make install
# Start installing gcc
bzr checkout http://bzr.savannah.gnu.org/r/gsrc/trunk gsrc
cd gsrc/
./bootstrap
./configure --prefix=$HOME/local
nproc # Get the number of cores on your server...
make -C gnu/gcc MAKE_ARGS_PARALLEL="-jN" # Replace `N` with the number of cores returned by nproc().
# Add your new library dirs
sed -i -e 's/\$HOME\/local\/lib\//\$HOME\/local\/lib\/:\$HOME\/local\/lib64\//' ~/.bashrc
source ~/.bashrc
make -C gnu/gcc install
# Add local PATH to ~/.bashrc
printf "\n# Local Paths \nexport PATH=\$HOME/local/bin/:\$PATH" >> ~/.bashrc
source ~/.bashrc
# Back to Rust \(^o^)/
cd ~/rust
./configure --prefix=$HOME/local
# Use `make -j8` if you have 8 cores.
# Use `make check VERBOSE=1` to practice your speed reading.
make
make install
# Wait, you also wanted to install cargo() ? Well fuck.
# Get cmake for cargo() dependencies.
mkdir ~/src/cmake
cd ~/src/cmake
wget http://www.cmake.org/files/v3.1/cmake-3.1.0.tar.gz
tar -xvzf cmake-3.1.0.tar.gz
cd cmake-3.1.0
./configure --prefix=$HOME/local
make
make install
# Install cargo()
cd ~/src
git clone https://github.com/rust-lang/cargo
cd cargo
git submodule update --init
# This script will install rustc again... FTW.
./.travis.install.deps.sh
./configure --local-rust-root="$PWD"/rustc
make
make install
tl;dr
Rust shines when safety, performance or reliability matters. Nim is nimble, expressive, blending the strengths of scripting languages and compiled languages well.
Remember kids, benchmarks are hard. Don’t take this as gospel.
I’ve been following this closely, I don’t get to write a lot of Rust (yet), but as its diversity slowly grows towards my area of interest I get more and more excited.
Maybe I should write a small lib to speed things up instead of slacking around.
And so his adventure begins: Little did he know of the blood and tears ahead of him. Perhaps this moment was meant to be the kiss goodbye to a winding road, from which no man was ever meant to return.
So I started learning Rust today (at 01:05 in the morning).If Programming Languages Were Vehicles

C was the great all-arounder: compact, powerful, goes everywhere, and reliable in situations where your life depends on it.

C++ is the new C — twice the power, twice the size, works in hostile environments, and if you try to use it without care and special training you will probably crash.

C# is C++ with more safety features so that ordinary civilians can use it. It looks kind of silly but it has most of the same power so long as you stay near gas pumps and auto shops and the comforts of civilization. A well-known heavily muscular intimidator keeps touting it.

Java is another attempt to improve on C. It sort of gets the job done, but it’s way slower, bulkier, spews pollution everywhere, and people will think you’re a redneck.

Python is great for everyday tasks: easy to drive, versatile, comes with all the conveniences built in. It isn’t fast or sexy, but neither are your errands.

Perl used to serve the same purpose as Python, but now only bearded ex-hippies use it.

LISP is programming stripped down to the bare essence. It’s been around since forever. Using it makes you stronger, but only an athlete or a maniac can make a living with with it.

Haskell is like a hipster version of LISP.

PHP is this hand-me-down deathtrap that you only use because you’re stuck with it, and when you hit a speed bump the wrong way it sets you and your passengers on fire.

Go is a shiny new toy that tech nerds say will be the way of the future, but it’s only practical if you limit everything you want to do to stay within its range.

COBOL probably seemed like a good idea at the time.

MATLAB is what scientists use to do special scientist things.

R is what scientists use when they can’t afford MATLAB.

OCaml is this funny shaped thing that Europeans like for some reason.

This is Javascript. If you put big wheels and a racing stripe on a golf cart, it’s still a fucking golf cart.
♪ “If you’re wondering about this choice of cars, and if they fit the facts; then repeat to yourself ‘it’s just a joke, I should really just relax…’” ♪
(via crashworks)
If Carpenters Were Hired Like Programmers
- Interviewer: So, you're a carpenter, are you?
- Carpenter: That's right, that's what I do.
- Interviewer: How long have you been doing it?
- Carpenter: Ten years.
- Interviewer: Great, that's good. Now, I have a few technical questions to ask you to see if you're a fit for our team. OK?
- Carpenter: Sure, that'd be fine.
- Interviewer: First of all, we're working in a subdivision building a lot of brown houses. Have you built a lot of brown houses before?
- Carpenter: Well, I'm a carpenter, so I build houses, and people pretty much paint them the way they want.
- Interviewer: Yes, I understand that, but can you give me an idea of how much experience you have with brown? Roughly.
- Carpenter: Gosh, I really don't know. Once they're built I don't care what color they get painted. Maybe six months?
- Interviewer: Six months? Well, we were looking for someone with a lot more brown experience, but let me ask you some more questions.
- Carpenter: Well, OK, but paint is paint, you know.
- Interviewer: Yes, well. What about walnut?
- Carpenter: What about it?
- Interviewer: Have you worked much with walnut?
- Carpenter: Sure, walnut, pine, oak, mahogony -- you name it.
- Interviewer: But how many years of walnut do you have?
- Carpenter: Gosh, I really don't know -- was I supposed to be counting the walnut?
- Interviewer: Well, estimate for me.
- Carpenter: OK, I'd say I have a year and a half of walnut.
- Interviewer: Would you say you're an entry level walnut guy or a walnut guru?
- Carpenter: A walnut guru? What's a walnut guru? Sure, I've used walnut.
- Interviewer: But you're not a walnut guru?
- Carpenter: Well, I'm a carpenter, so I've worked with all kinds of wood, you know, and there are some differences, but I think if you're a good carpenter ...
- Interviewer: Yes, yes, but we're using Walnut, is that OK?
- Carpenter: Walnut is fine! Whatever you want. I'm a carpenter.
- Interviewer: What about black walnut?
- Carpenter: What about it?
- Interviewer: Well we've had some walnut carpenters in here, but come to find out they weren't black walnut carpenters. Do you have black walnut experience?
- Carpenter: Sure, a little. It'd be good to have more for my resume, I suppose.
- Interviewer: OK. Hang on let me check off the box...
- Carpenter: Go right ahead.
- Interviewer: OK, one more thing for today. We're using Rock 5.1 to bang nails with. Have you used Rock 5.1?
- Carpenter: [Turning white...] Well, I know a lot of carpenters are starting to use rocks to bang nails with since Craftsman bought a quarry, but you know, to be honest I've had more luck with my nailgun. Or a hammer, for that matter. I find I hit my fingers too much with the rock, and my other hand hurts because the rock is so big.
- Interviewer: But other companies are using rocks. Are you saying rocks don't work?
- Carpenter: No, I'm not saying rocks don't work, exactly, it's just that I think nail guns work better.
- Interviewer: Well, our architects have all started using rocks, and they like it.
- Carpenter: Well, sure they do, but I bang nails all day, and -- well, look, I need the work, so I'm definitely willing to use rocks if you want. I try to keep an open mind.
- Interviewer: OK, well we have a few other candidates we're looking at, so we'll let you know.
- Carpenter: Well, thanks for your time. I enjoyed meeting you.
- NEXT DAY
- Ring...
- Interviewer: Hello?
- Carpenter: Hello. Remember me, I'm the carpenter you interviewed for the black walnut job. Just wanted to touch base to see if you've made a decision.
- Interviewer: Actually, we have. We liked your experience overall, but we decided to go with someone who has done a lot of work with brown.
- Carpenter: Really, is that it? So I lost the job because I didn't have enough brown?
- Interviewer: Well, it was partly that, but partly we got the other fellow a lot cheaper.
- Carpenter: Really -- how much experience does he have?
- Interviewer: Well, he's not really a carpenter, he's a car salesman -- but he's sold a lot of brown cars and he's worked with walnut interiors.
- Carpenter: [click]
The French: Rulers in the court of Abstraction of human language.





