Tag: programming language
Link: Kotlin: A New Hope in a Java 6 Wasteland
eBook: The Rust Programming Language
Podcast Episode: Rust with Steve Klabnik and Yehuda Katz
An interview with “two core team members of the Rust Programming Language, a systems programming language from Mozilla Research.”.
Let’s Learn Go! Online book that introduces you to the Go programming language
Moose: Perl module that extends the Perl 5 object system to make programming easier, more consistent, and less tedious
http://search.cpan.org/~ether/Moose-2.1402/lib/Moose.pm ᔥ
- Moose Manual: http://search.cpan.org/~ether/Moose-2.1402/lib/Moose/Manual.pod
- Moose Cookbook: http://search.cpan.org/~ether/Moose-2.1402/lib/Moose/Cookbook.pod
- Moose Home Page: http://moose.iinteractive.com/en/
- Podcast where the Moose “Roles” system is discussed in some detail: http://thechangelog.com/133/
This module has me interested in writing some Perl code for the first time in years. I’m going to check this out.
Example from perldocs:
package Person;
use Moose;
has 'first_name' => (
is => 'rw',
isa => 'Str',
);
has 'last_name' => (
is => 'rw',
isa => 'Str',
);
no Moose;
__PACKAGE__->meta->make_immutable;
This is a complete and usable class definition!
package User;
use DateTime;
use Moose;
extends 'Person';
has 'password' => (
is => 'rw',
isa => 'Str',
);
has 'last_login' => (
is => 'rw',
isa => 'DateTime',
handles => { 'date_of_last_login' => 'date' },
);
sub login {
my $self = shift;
my $pw = shift;
return 0 if $pw ne $self->password;
$self->last_login( DateTime->now() );
return 1;
}
no Moose;
__PACKAGE__->meta->make_immutable;
When ready to instantiate your class in an application, use it in the “traditional” Perl manner:
use User;
my $user = User->new(
first_name => 'Example',
last_name => 'User',
password => 'letmein',
);
$user->login('letmein');
say $user->date_of_last_login;
Effective Go: A primer for writing idiomatic Go code (based on Go’s unique properties)
https://golang.org/doc/effective_go.html
This is for folks who are already somewhat familiar with Go.
From the Effective Go Introduction:
Go is a new language. Although it borrows ideas from existing languages, it has unusual properties that make effective Go programs different in character from programs written in its relatives. A straightforward translation of a C++ or Java program into Go is unlikely to produce a satisfactory result—Java programs are written in Java, not Go. On the other hand, thinking about the problem from a Go perspective could produce a successful but quite different program. In other words, to write Go well, it’s important to understand its properties and idioms. It’s also important to know the established conventions for programming in Go, such as naming, formatting, program construction, and so on, so that programs you write will be easy for other Go programmers to understand.