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.
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.
Also consider http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockfor... - your expectations from working with other languages may be getting in the way of your writing javascript properly and effectively.
(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.)
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).
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?
Use Java.
Demos, no javascript required.
http://pivot.apache.org/demos/
Deploy as applet or via JWS.
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 :).
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.
compare that to golang, even though u make errors, the compiler is so awesome at pointing those out. And u can get so much done
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:
http://corner.squareup.com/2014/05/evaluating-go-frameworks....
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.
That said, you don't need JS to make a webapp. You can do it strictly with server-side code and HTML.
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?
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
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
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) ...
You will get used to it. (and maybe like it at the end)