Should an aspiring web developer learn 'Go' or 'JavaScript' first?

774 views
Skip to first unread message

Aahan Krish

unread,
Apr 5, 2012, 3:46:06 AM4/5/12
to golan...@googlegroups.com
My question says it all -- should an aspiring web developer learn 'Go' or 'JavaScript' first?

I know that the two languages deal with two different areas (let's not think about Node.js now), but here's why I am asking this question:
  • I am not looking for a job (not even in the future) => there's absolutely nothing forcing me into learning a specific language.
  • The thing is, I am sure I will lose touch with a language if I don't actually build stuff with it as I learn it. JavaScript is an excellent choice in this case. The problem is I am even more excited about learning 'Go' (atm all I know is bits & pieces of HTML & CSS). I want to learn this language first, but the concern is -- will I be able to build something with it? What can I build with it? Cross-platform applications? Like what? An image resizer? a screen capture tool? Will I be able to build such things with the knowledge of 'Go' alone?
Please give me some advise. Thanks! :)

Aahan Krish

unread,
Apr 5, 2012, 3:46:56 AM4/5/12
to golan...@googlegroups.com
I would like to add -- don't worry about my job and such. I just want to build stuff (and open source them).

Jesse McNelis

unread,
Apr 5, 2012, 4:34:27 AM4/5/12
to Aahan Krish, golan...@googlegroups.com
On Thu, Apr 5, 2012 at 5:46 PM, Aahan Krish <geekp...@gmail.com> wrote:
> My question says it all -- should an aspiring web developer learn 'Go' or
> 'JavaScript' first?

Web development, that's html, css, javascript and http. It's largely
about creating a user interface to provide a client access to
resources on a web server.

General development is far wider and includes a lot of things that for
some strange reason tend to end up in "web frameworks", like
databases, and authentication.

If you want to do web development then Javascript is likely to be more
immediately valuable since you'll need it to actually do the web user
interface related parts of a project.

But for general development Go is a fine choice.

Learning both at the same time is probably the best option.

--
=====================
http://jessta.id.au

Aahan Krish

unread,
Apr 5, 2012, 4:42:37 AM4/5/12
to golan...@googlegroups.com, Aahan Krish
Hi Jesse,

My question is not just about deciding whether to learn JavaScript or Go first. What it is about is, if I can actually build something with Go (and only Go, because I don't know anything else except HTML & CSS).

If yes, what can I develop using Go? Can you give me some examples of possible projects? (Like an image resizer, a simple screenshot capture tool, etc.)

I hope I am clear this time.

best,
Aahan

Archos

unread,
Apr 5, 2012, 4:46:36 AM4/5/12
to golang-nuts

On Apr 5, 9:34 am, Jesse McNelis <jes...@jessta.id.au> wrote:
> On Thu, Apr 5, 2012 at 5:46 PM, Aahan Krish <geekpant...@gmail.com> wrote:
> > My question says it all -- should an aspiring web developer learn 'Go' or
> > 'JavaScript' first?
>
> Web development, that's html, css, javascript and http. It's largely
> about creating a user interface to provide a client access to
> resources on a web server.
>
> General development is far wider and includes a lot of things that for
> some strange reason tend to end up in "web frameworks", like
> databases,  and authentication.
>
> If you want to do web development then Javascript is likely to be more
> immediately valuable since you'll need it to actually do the web user
> interface related parts of a project.
>
> But for general development Go is a fine choice.
>
> Learning both at the same time is probably the best option.
>
In addition, you have in mind that with a general purpose language
like Go, it could be compiled to JavaScript so you would need one only
language for your projects, avoiding a bad designed language like JS.

Archos

unread,
Apr 5, 2012, 4:52:15 AM4/5/12
to golang-nuts

On Apr 5, 9:42 am, Aahan Krish <geekpant...@gmail.com> wrote:
> If yes, what can I develop using Go? Can you give me some examples of
> possible projects? (Like an image resizer, a simple screenshot capture
> tool, etc.)
Go is a general purpose language so you can build everything your
imagination can.

geekpanth3r

unread,
Apr 5, 2012, 4:58:32 AM4/5/12
to golan...@googlegroups.com
In addition, you have in mind that with a general purpose language
like Go, it could be compiled to JavaScript so you would need one only
language for your projects, avoiding a bad designed language like JS.

WOW, Is this really true?! That would be great!

Jesse McNelis

unread,
Apr 5, 2012, 5:02:50 AM4/5/12
to Aahan Krish, golan...@googlegroups.com
On Thu, Apr 5, 2012 at 6:42 PM, Aahan Krish <geekp...@gmail.com> wrote:
> If yes, what can I develop using Go? Can you give me some examples of
> possible projects? (Like an image resizer, a simple screenshot capture tool,
> etc.)

For projects written in Go see:

https://github.com/languages/Go
http://godashboard.appspot.com/
http://go-lang.cat-v.org/go-code

--
=====================
http://jessta.id.au

Jan Mercl

unread,
Apr 5, 2012, 5:13:22 AM4/5/12
to golan...@googlegroups.com
In theory a Go -> JS compiler must be feasible (but not necessarily good for anything useful above showing Turing was right). I'm not aware of any usable implementation.

Archos

unread,
Apr 5, 2012, 5:16:40 AM4/5/12
to golang-nuts
Of course. I 've worked in GoScript[1] to do it but after of near 4
months (1) I needed a break and (2) I'm working now into a personal
project since free software doesn't help to pay bills. But it's
anything that I need so it will be done later or sooner (patience).


[1]: https://github.com/kless/GoScript

Jan Mercl

unread,
Apr 5, 2012, 5:36:57 AM4/5/12
to golan...@googlegroups.com
On Thursday, April 5, 2012 11:16:40 AM UTC+2, Archos wrote:
Of course. I 've worked in GoScript[1] to do it but after of near 4
months (1) I needed a break and (2) I'm working now into a personal
project since free software doesn't help to pay bills. But it's
anything that I need so it will be done later or sooner (patience).


[1]: https://github.com/kless/GoScript

That project accepts a certain subset of Go syntax - that's not a problem. The problem is that AFAIK the semantics of the produced JS code for that subset differs from the semantics of the original Go code. I'm afraid it cannot be classified as a Go->JS compiler, sorry to say.

Miguel Pignatelli

unread,
Apr 5, 2012, 5:42:42 AM4/5/12
to Archos, golang-nuts
On 05/04/12 10:16, Archos wrote:
> I'm working now into a personal
> project since free software doesn't help to pay bills

Yeah... I have heard of a guy called Linus Torvalds doing free stuff.

https://groups.google.com/forum/?fromgroups#!msg/comp.os.minix/dlNtH7RRrGA/SwRavCzVE7g

He probably has problems paying his bills ;-)


M;

Archos

unread,
Apr 5, 2012, 5:43:22 AM4/5/12
to golang-nuts

On Apr 5, 10:36 am, Jan Mercl <0xj...@gmail.com> wrote:
> On Thursday, April 5, 2012 11:16:40 AM UTC+2, Archos wrote:
>
> > Of course. I 've worked in GoScript[1] to do it but after of near 4
> > months (1) I needed a break and (2) I'm working now into a personal
> > project since free software doesn't help to pay bills. But it's
> > anything that I need so it will be done later or sooner (patience).
>
> > [1]:https://github.com/kless/GoScript
>
> That project accepts a certain subset of Go syntax - that's not a problem.
It isn't finished, and it accepts now allmost all Go syntax.
But it's free software so you'd be more productive contributing to the
code if you think that it isn't full.

> The problem is that AFAIK the semantics of the produced JS code for that
> subset differs from the semantics of the original Go code. I'm afraid it
> cannot be classified as a Go->JS compiler, sorry to say.
The generated JavaScript code does just that Go source does.
The semantics for the literature.

Archos

unread,
Apr 5, 2012, 5:48:22 AM4/5/12
to golang-nuts

On Apr 5, 10:42 am, Miguel Pignatelli <eme...@gmail.com> wrote:
> On 05/04/12 10:16, Archos wrote:
>
> > I'm working now into a personal
> > project since free software doesn't help to pay bills
>
> Yeah... I have heard of a guy called Linus Torvalds doing free stuff.
>
> https://groups.google.com/forum/?fromgroups#!msg/comp.os.minix/dlNtH7...
>
> He probably has problems paying his bills ;-)
>
I'd say that it's lesser of 5% about people that can live only working
in free software.

Jan Mercl

unread,
Apr 5, 2012, 5:51:17 AM4/5/12
to golan...@googlegroups.com
On Thursday, April 5, 2012 11:43:22 AM UTC+2, Archos wrote:

On Apr 5, 10:36 am, Jan Mercl <0xj...@gmail.com> wrote:
> That project accepts a certain subset of Go syntax - that's not a problem.
It isn't finished, and it accepts now allmost all Go syntax.
But it's free software so you'd be more productive contributing to the
code if you think that it isn't full.

Yeah, I would also love to have someone, or a dozen of someones, to help me with all of those projects I'm trying to do in Go, as one lifetime doesn't seem enough for all of them ;-)
 

> The problem is that AFAIK the semantics of the produced JS code for that
> subset differs from the semantics of the original Go code. I'm afraid it
> cannot be classified as a Go->JS compiler, sorry to say.
The generated JavaScript code does just that Go source does.

Last time I checked, from what went through this list, that was not the case.
 
The semantics for the literature.

The semantics are in the specs. Either the code follows the specs or not. It's not a question of anyone's opinion (modulo occasional corner cases discovered to be not yet defined, like e.g. http://code.google.com/p/go/issues/detail?id=3464).

Miguel Pignatelli

unread,
Apr 5, 2012, 5:59:21 AM4/5/12
to Archos, golang-nuts

That may be true. But I know by experience that free software is a great
showcase that really helps people to get jobs or get better jobs.

This is completely off-topic so I will stop here.

Cheers,

M;

Archos

unread,
Apr 5, 2012, 6:07:27 AM4/5/12
to golang-nuts

On Apr 5, 10:51 am, Jan Mercl <0xj...@gmail.com> wrote:
> On Thursday, April 5, 2012 11:43:22 AM UTC+2, Archos wrote:
>
> > On Apr 5, 10:36 am, Jan Mercl <0xj...@gmail.com> wrote:
> > > That project accepts a certain subset of Go syntax - that's not a
> > problem.
> > It isn't finished, and it accepts now allmost all Go syntax.
> > But it's free software so you'd be more productive contributing to the
> > code if you think that it isn't full.
>
>
> > > The problem is that AFAIK the semantics of the produced JS code for that
> > > subset differs from the semantics of the original Go code. I'm afraid it
> > > cannot be classified as a Go->JS compiler, sorry to say.
> > The generated JavaScript code does just that Go source does.
>
> Last time I checked, from what went through this list, that was not the
> case.
Maybe, wasn't it finished?

> > The semantics for the literature.
>
> The semantics are in the specs. Either the code follows the specs or not.
If the generated code works in both Mozilla and Chromium is because
that semantics is right.

Jan Mercl

unread,
Apr 5, 2012, 6:18:42 AM4/5/12
to golan...@googlegroups.com
On Thursday, April 5, 2012 12:07:27 PM UTC+2, Archos wrote:
> Last time I checked, from what went through this list, that was not the
> case.
Maybe, wasn't it finished?

Don't know. Did the approach to the translation changed completely from that time? Because I don't think the one discussed on the list previously can manage to produce the desired, correct results.
 
> > The semantics for the literature.
>
> The semantics are in the specs. Either the code follows the specs or not.
If the generated code works in both Mozilla and Chromium is because
that semantics is right.

Iff the generated code for the supported subset follows the Go specs for that subset then it is a correct Go->JS translation of that subset wrt the original Go code inputted to the translator. It has nothing to do with Mozilla/Chrome/whatever browser beyond them being a place where the behavior of the generated JS can observed.

Archos

unread,
Apr 5, 2012, 6:25:52 AM4/5/12
to golang-nuts
For that you can understand it. It translates Go (almost all features
in Go) to JavaScript. That generated code has been checked in the
major browsers, doing just what Go source code did.

Since you aren't going to any place with your comments, please fills
an issue related to GoScript. Then, I'll see it it's productive or
interesting for the project. Thanks!


https://github.com/kless/GoScript/issues

Jan Mercl

unread,
Apr 5, 2012, 6:35:37 AM4/5/12
to golan...@googlegroups.com
On Thursday, April 5, 2012 12:25:52 PM UTC+2, Archos wrote:
For that you can understand it. It translates Go (almost all features
in Go) to JavaScript. That generated code has been checked in the
major browsers, doing just what Go source code did.

Since you aren't going to any place with your comments, please fills
an issue related to GoScript. Then, I'll see it it's productive or
interesting for the project. Thanks!


https://github.com/kless/GoScript/issues

I should have not hoped to be understood, my fault.

mr.n...@googlemail.com

unread,
Apr 5, 2012, 9:31:02 AM4/5/12
to golan...@googlegroups.com
Hello,

actually if you want to do somethign that has a modern frontend you need serverside and clientside technology.
Go/PHP/Python and the likes are for Backend
Javascript is for frontend mostly with the exception of stuff like node.js which is a server side scripting technology

But if you pick Go instead of PHP et al you will never find anything that you can't handle with it.
there is a cool post about getting a Go Webapp started behind a nginx server

but you should take a look at how to write a web application in general

Expect to learn a multitude of things web programming is a wide and exciting field
  • you need skills for a database like MySQL
  • you need skills for a serverside language like Go
  • you need skills in html and css
  • and last but not least javascript

wish ya lots of success :)

Kyle Lemons

unread,
Apr 6, 2012, 12:27:26 AM4/6/12
to Aahan Krish, golan...@googlegroups.com
Not to distract from our side conversations ;-) but yes, you can write dynamic web applications using only Go and HTML/CSS.  You will have to understand a bit about HTTP (how forms get posted, etc) and you will submit a lot of forms and such, but it's certainly doable.  At that point, you can start adding javascript things to do some client-side computation and validation, and you can learn some AJAX things to make the page refresh less often and so on and so forth.

An example of a possible application (that would not be possible with javascript alone) would be a sort of "image exchanger" where you upload an image and another image is randomly downloaded (probably uploaded by another user).  You could start with messages (you send a string to the server from a form and get a random one from a previous user back) and then build up to images, and you'll get experience with communicating on the Go side (since there are potentially many requests accessing the list of random replies) and HTTP uploads and content types and such.

Walter Zheng

unread,
Apr 8, 2012, 2:20:48 AM4/8/12
to golang-nuts
I use http://learnjs.info to learn javascript interactively.

On 4月5日, 下午3时46分, Aahan Krish <geekpant...@gmail.com> wrote:
> My question says it all -- should an aspiring web developer learn 'Go' or
> 'JavaScript' first?
>
> I know that the two languages deal with two different areas (let's not
> think about Node.js now), but here's why I am asking this question:
>
>    - I am not looking for a job (not even in the future) => there's
>    absolutely nothing forcing me into learning a specific language.
>    - The thing is, I am sure I will lose touch with a language if I don't

Walter Zheng

unread,
Apr 8, 2012, 2:19:49 AM4/8/12
to golang-nuts
I use http://learnjs.info to learn javascript interactively.

On 4月5日, 下午3时46分, Aahan Krish <geekpant...@gmail.com> wrote:
> My question says it all -- should an aspiring web developer learn 'Go' or
> 'JavaScript' first?
>
> I know that the two languages deal with two different areas (let's not
> think about Node.js now), but here's why I am asking this question:
>
>    - I am not looking for a job (not even in the future) => there's
>    absolutely nothing forcing me into learning a specific language.
>    - The thing is, I am sure I will lose touch with a language if I don't

geekpanth3r

unread,
Apr 8, 2012, 8:24:17 AM4/8/12
to golan...@googlegroups.com
Thanks a lot Shaban, and Walter! :)

Walter Zheng

unread,
May 14, 2013, 8:48:06 PM5/14/13
to btbur...@gmail.com, golan...@googlegroups.com
http://learnjs.info changed to http://learnjs.zdwalter.info

在 2013-5-15,上午7:32,btbur...@gmail.com 写道:

I think Walter meant: http://learnjs.org
Reply all
Reply to author
Forward
0 new messages