But i wana make a webapp, how should i go about building a web app without touching javascript, is there any frameworks like gwt for golang, or C++, rust
I get why people hate it, and your opinion is fine. But you're going to have a rough time building a web app if you hate JavaScript, even if you use a language that compiles down to it.
JavaScript is at the heart of web apps, where DOM, CSS, and logic are married. Sure, you can bypass it using server side scripting or languages that convert to JS, but in the end, you're trying to sew a dress using only hotglue. It'll work, but it's the wrong tool for the job, and it'll lead you down a road of pain and headaches.
I'd recommend collaborating with someone who knows JavaScript well, then you can focus on backend logic and collaborate on other pieces.
You may have to learn to put up with it. It's not the end of the world. It's just a scripting language, just suck it up and deal.
There are any number of js frameworks which will probably abstract away most of the headaches you might have, and depending on what you're actually trying to accomplish, you may not need a lot of js at all. If you don't want to use client-side templating, for instance, and there's no reason to, then just skip it. Push as much of it to the backend in the language of your choice as you can.
But javascript, when you need scripting in the browser, is kind of unavoidable.
(or do what a lot of other people do and work with a language that compiles to js and you can pretend you live in an alternate universe where you're not working with javascript even though you really are.)
I'd recommend using Errai (http://erraiframework.org/) ... you get to program in a well-known, type-safe language and much of the JavaEE infrastructure is extended into the browser. Errai is based on GWT but allows the use of HTML as the templating language (instead of UiBinder which is GWT's XML-based templating function).
One great thing about both Errai and GWT projects is that they're optimized for many browsers and the compiler abstracts away the differences between browsers (by compiling a version of the application for each).
You can't even spell correctly--no wonder you hate Javascript.
It's a fairly small language and if you refer to simple best practices (as outlined in, say, Javascript: The Good Parts) you won't have a bad time at all.
It's the first language to introduce closures to the masses, the only language that is really at home in an HTML document (some newcomers aside), and on the server it's quite easy to quickly bash something together in Node.
Blindly declaring that you hate the lingua franca of webapps is pretty difficult road to hoe. What's your issue?
Gratuitous generalization, because you hate it, doesn't mean everybody hates JavaScript. The problem is that most people that hate JavaScript don't bother to properly learn the language because of the familiar syntax and they get burned by it :).
You could try CoffeeScript. It takes away a lot of what people don't like about JavaScript out, and replaces it with a decent syntax. I personally love well written vanilla JavaScript, but CoffeeScript might give you a little better experience if you "hate" JS.
So, is it the DOM you don't like, or the actual JS syntax and structure? For me, when I overcame the weakness of the DOM API, and utilized it elegently, I started to enjoy JS.
I get that you like Go, but you can't run Go in a web browser. Ultimately, whatever you write will have to be evaluated in a web browser, which means it will be JavaScript at some point. Just like you've observed with CoffeeScript, writing in a different language is just a layer of abstraction on top of JavaScript.
Web apps have a back-end and a front-end. You can definitely write the back-end without touching JavaScript. You can even write it in Go. Square did a nice writeup comparing several:
When it comes to browser side, you're stuck with JavaScript though. Trying to avoid it will only bring more pain and frustration than attacking the problem head-on.
I would point out that programming languages don't make errors, programmers do. I'm no fan of JavaScript. I too avoid it when I can. It's absolutely necessary if you want to write web apps though. As you become more familiar with JavaScript, your error rate will go down.
If JavaScript really puts you off, maybe consider going another direction, like mobile app development. Both iOS and Android applications are developed using compiled languages. You may find them more suitable to your programming style.
You can easily create a web app with PHP-HTML but your app will never be successful without Javascript! Most of the people was not aware of its awesomeness until few years ago, now there are millions of frameworks, scripts, server side, back-end,front-end all kind of things created in Javascript. I think its the language of tomorrow.
My biggest transition to being comfortable with it was to find a happy place in terms of editing. After years of C/C++ it was not easy to be picking fragments of code out of DOM bellyfluff lint. So how do you use javascript dev tools and what don't you like about them I guess?
just a week ago, i made a test for myself, i decided to write merge sort in golang and javascript.
My golang program was complete in like 10min, but javascript program took 2 hrs. I dont know if its just me, but i tend to make small errors while programing, like making sure a variable is not undefined and stuff. Even though my logic was perfect its just very difficult to debug algorithms in javascript, let alone any lint for ide thats reliable.
the golang compiler is really good at catching errors, and makes programing more fun for me atleaset
You can compile C++ to JS using Emscripten, but I doubt you will be able to do webdev this way ...
For building webapps try CoffeeScript (inspired from Ruby and Python, compiles to JavaScript), Dart (seems to be inspired from Java, compiles to JavaScript), ClojureScript (a Lisp language, compiled to JavaScript) ...
JavaScript is at the heart of web apps, where DOM, CSS, and logic are married. Sure, you can bypass it using server side scripting or languages that convert to JS, but in the end, you're trying to sew a dress using only hotglue. It'll work, but it's the wrong tool for the job, and it'll lead you down a road of pain and headaches.
I'd recommend collaborating with someone who knows JavaScript well, then you can focus on backend logic and collaborate on other pieces.