Nim Programming Language Gaining Traction
An anonymous reader writes: Nim is a young, statically typed programming language that has been getting more attention recently. See these articles for an introduction: What is special about Nim?, What makes Nim practical? and How I Start: Nim. The language offers a syntax inspired by Python and Pascal, great performance and C interfacing, and powerful metaprogramming capabilities. The author of "Unix in Rust" just abandoned Rust in favor of Nim and some early-adopter companies are starting to use it as well.
When that comes out - I'm buying it regardless of whether or not I actually need to learn or use the language.
It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
Such potential just thrown directly into the trash because of a bizarre obsession with python's Forced Indentation Of Code model. It's sad.
A new fad sweeps through the kiddies every 3-5 years. I guess everyone wants to be one the crest of the new wave so they all rush out to learn the newest one, hoping maybe they'll get to write the book or teach a bootcamp, after it gets advertised on Slashdot of course.
I lurk on the Nim IRC channel sometimes. The toxicity there is unbelievable.
Look at these recent IRC logs, for example.
We see insults like:
And there's lots of unnecessary sarcasm:
Then there's lunacy and quasi-psychotic ranting and rambling:
Nim Programming Language, 20+ years.
That's going on the resume!
...because people don't like the idea of a language that turns something they should be doing anyway, code indentation, into a syntactic requirement.
Short-sighted of them
Disinfect the GNU General Public Virus!
After seeing that first link I was left wondering what other colors can be applied to the text windows.
I am Slashdot. Are you Slashdot as well?
I love the fact that this compiles to a binary linked to standard C library and how fast it is, but I'm in ass deep with Numpy and Pandas.
And the code distribution problem is not that big of a deal. If I'm actually sharing code, 9 times out of 10, the other person has Python on their system because they are doing similar work.
Anyway,when/if Nim matures more, I'll probably make the jump.
When they release Nickel for Nim on Rods, NiNoR, they'll have "ronin" spelled backward.
Then the bad guys will *pay*.
There's no Wikipedia page on this language. Just an external link in the disamb page.
And now they have their own programming language?
I was looking at the last link in TFS and in the comments to that link there was this little gem that should force you to take a large grain of salt before committing to a major Nim effort
Nim High Priority Issues
Now, I am not familiar with how other, similar languages were at the same stage of development, but given things like this I would be putting Nim in the "Not ready for prime time YET" basket (which is also how I feel about Swift at the moment - there seems to be too many things in a state of flux right now)
I am Slashdot. Are you Slashdot as well?
Nim is just yet another statically-typed GC language with an unsafe escape hatch. I can get the same thing (and much better syntax) with Java and JNI or C# and P/Invoke. Yawn.
Rust, on the other hand, is something genuinely new: it provides completely memory safety without a requiring a garbage collector at all. It's sad to seeing people switch from Rust to Nim: they're often too inexperienced to know what they're giving up, and I feel like they're seeking (syntactic) novelty, not a programming environment that's actually useful.
You know, Yet Another Programming Language will not make you a better programmer....
I've seen people buy the 'best' musical instruments thinking it will help them play better, it doesn't. Know what does? Practice,experience,time...
Please stop making new programming languages....its silly and embarassing....just take some time, pick one and LEARN the craft.
Do the Developers developers developers chicken dance.
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
I mean, if everyone writes their program in their own little language then its pretty god damn frustrating for a rival to steal it from them unless they either want to learn that language or rewrite the whole thing.
Ultimately, this might be the best copyright protection. Hard to steal what you can't understand.
I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
The compiler for it is written in Swift. Pass it on!
Scoping by invisible characters is bad enough but modifying operator precedence by invisible characters? Why do people think that using spaces, the invisible character, as syntactically meaningful characters is a good idea? For readers of English the space is only important to separate meaningful bits and now we have a language that you will need to count spaces to determine operator precedence?!?! Of course it always cooler to use binary progressions so the operator precedence feature uses sequences of 1, 2 4, and 8 spaces. I can only hope that the language is a joke as per it's original name, nimrod.
Maybe it would be useful if they dumped the space dependency, but after reading that I quit taking it seriously.
nim, like python, requires strict indentation. That's not comfortable for some people. I, for one, have nystagmus and find it practically impossible to code in python. I suspect I'd have the same issues with nim.
"The agriculture ministry is not in charge of Gundam" - Japanese ministry official.
Somebody, who wrote a book an a language I've never heard of, has now switched to another new language. Whether he has an agile and flexible mind or simply is not particularly loyal to anything, I'm not impressed...
In Soviet Washington the swamp drains you.
To create c code?
Yes, because people who care about that generally release their source code.
CLI paste? paste.pr0.tips!
...has been getting more attention recently...
Well, if it is a new language, by definition any attention it gets, no matter how little, is "more attention".
.
When the comparison is against zero, it does not take too much to have a 100% improvement. :)
That's a useless gimmick: it can't work in general and either fails or limits the kind of correct code you can write, you don't always want these kinds of checks, and it must take a significant amount of effort on their part to maintain it. The fact that they highlight this at the top of the page suggests to me that they aren't focusing on the right things and that the language may be in trouble before it even gets started.
It's Greenspun's 10th Rule applied to Python. Nothing here that hasn't been in Common Lisp for decades.
Yet Another Programming Language.
Same shit, different syntax.
And now, some HR idiot is looking for someone with 5 years experience in it.
This entire story makes me wonder if any of you have seen female genitalia anywhere except on the internet.
can someone explain to a non programmer, as you look back over the last 20 years or so, what is the real cost/benefit of new languages
I mean, i read constantly of hip new languages; but there is a cost that no one seems to talk about, eg you need new libraries, maintenance of a new language. etc
are we, the users really that much better off ?
am i, a user, really getting more for my dollar from all these new languages ?
as a user, i care about cost/performance; curly braces, indents, static typing - totally irrelevant
Calm down... what I'm wondering here is if in part the point is to use obscure languages. What if the issue is not some new feature of the language but rather the fact that no one really uses it? Maybe it is a job security thing? Maybe it is a way for a company under contract to keep a client using them? If I code a program for a company in some weird language and they contractually own the source code they're still going to be more inclined to contract with me again because they can't find another developer that can use that code.
Are you worried about coming up with a good idea and then having your client contract with some cheap development house out of India or something? Code it in a language that no one else understands and they won't be able to do that.
What is more, it is the sort of thing that some clients are going to miss. They might slyly note that they're not obligated to use you for patches and updates for the program going forward. The significance of coding it in a weird language might slip by them. And thus you or your company gains leverage going forward.
Whether this is the primary reason people like these weird languages, you have to admit that you'd have more leverage to compel clients to use you in the future to maintain and add to those programs since it will be harder for them to replace you then if you used a more popular language.
Outside of this issue, I'm actually having a hard time grasping why there is such a profusion of languages when most of them do the same thing. Yes, they've some advantages over each other but that is more a way of saying they're different from each other then saying they're actually better. Conditionally, pretty much anything can be better then anything else. I mean, a bathing suit is better for taking a dip in the pool then a heavy down coat... but if I were walking through the snow I'd rather have the coat. Neither one is really better then the other. They're just conditionally superior.
I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
IRC is just a bad medium for mature discussion to begin with (but forums suck in many other ways, so where does that leave us). The IRC channel for most *any* project is unnecessarily toxic. Just because Araq is on the IRC channel doesn't mean the whole project is polluted by the ramblings of one or two fans/hecklers/wannabe devs.
My view of Nim from the web pages presented in the summary, and the online docs is very different from your IRC-centric view. I've personally been very impressed with the quality of the documentation, tutorials, and papers I've read so far. I don't think I've seen as friendly and readable documentation for any project in a long time. Perhaps quality will drop as Nim becomes more popular and people concentrate on developing. But for a project that has seemingly come out of nowhere, this really impressed me. Not only is Araq apparently a decent programmer, he's also a good writer too.
Thank you to the submitter for submitting this. I had never heard of Nim before today. Adding it to my short list of very interesting new languages to follow.
but nothing for the main market
I play an instrument. I now play a lot better, because I practice a lot more, because the instrument I bought two years ago is a joy to play and listen to compared to the one I had before.
Different people prefer different instruments, just as different people prefer different languages. Your plea to stop creating/using new ones sounds suspiciously like the argument that everything has already been invented.
Computer languages must evolve or we'll never get holodecks (and I guess future programming languages will rely on an artificial intelligence that does most of the leg work for you and you just customize upon assumptions made from your descriptions)
But there does seem to be rather a lot nowadays. There's some time saving features in some, others are structured to minimize bugs and all that.
Isn't all that matters the program that's produced? What's Nim or Rust or any of these new languages going to save you? 5% of your time?
That's great for business, assuming you save more money than it costs you to switch within a time-frame that doesn't damage the future of the business.
But until new languages have truly evolved past minor improvements and syntactic sugar (at least cutting development time in half without sacrificing one bit of functionality) isn't your time best spent on perfecting the use of an existing language? developing and improving the software you intend to create?
I've been developing a game engine using Object Pascal (FPC) for many years (the latest versions of the language blow all over Nim by the way and does what Nim is trying to do already)
I'd of had a far easier time re-writing in C++ so I could make use of existing libraries. I'd of had an easier time (but sacrificing performance) had I re-written in a garbage collecting language.
But had I done that, I'd now be working on a quarter of an engine rather than a full one and the end result would be no better.
If everybody switched over to new languages the moment they came out, we'd all still be in serial consoles battling 90's security bugs.
If nobody switched to new languages we'd probably have the EMH by now.
Languages must evolve but unless it's a game changing advancement (like object orientation over functional etc) these new languages only serve to split skill sets and hold back progress.
I guess I don't get it, there are some people that seem to flutter from one language to the next. Sure, it's neat that so many people are experimenting with new ideas, but I'm not really willing to build a big project around a new language that has no standardization nor offers any radically different programming methodology than the current languages I use. I view languages like Python, Rust, Ruby, Lua, etc as good platforms to write throw away programs.
Python has proven to me several times that it is willing to break old programs with new releases of its environment, which is good on them because they shouldn't stagnate but I also don't want to write anything big in it that has to be ported every 18 months either. Pretty much all of these new languages, which are still maturing, are like this. Java being the big exception of a language that quickly stabilized, likely due to the heavy corporate backing and the original intentions for the environment to be both feature packed and cross platform.
“Common sense is not so common.” — Voltaire
I like the way you think! lets go into business together, you write in BrainF*** and I'll kidnap their dog!
which already has that.
Ruby is Python's less constrained cousin.
It limits expressiveness for no reason other than dogma.
How many companies deal in proprietary widgets that force you to buy their licensed products or the thing doesn't work.
If the big corporations can think that way then why can't the small development houses or independent contractors?
And where does the big company tell you that "you can only use our licensed products" in their advertising? No where. You ask the salesperson and they'll say "well, we just want to make sure you get the highest quality so we ensure only our validated products are used."
Ever used an ink jet printer or any product from apple? Why would they be the only people trying that tactic.
And the problem with kidnapping someone's dog is that is illegal. Writing in brainf** however is completely legal. Which means if someone writes in brainf** they're not a criminal. And you if you kidnap their dog then you are a criminal.
It helps if your business practices don't break the law. And its even more advantageous when you can find out ways to violate the spirit of a law without actually breaking a law. Ask the investment banking world about that. They're geniuses at finding new ways to do everything they're not supposed to do by doing it a slightly different way. And the smart ones walk away with lots of money not because they did a good thing or came up with a good service but found a new way to break the law without going to jail.
And why would they be the only ones to think that way?
Explain why you'd code in a non-standard language for marginal gains? There are huge advantages in using a standardized language. Use some weird language that five people know how to code in and you're FUCKED if you have a falling out or the weasels decide to start raking you over the coals. What are you going to do? Code the whole thing from scratch?
The IRS still has programs written in COBOL that they've been using since LBJ. I know of many major companies that still use DOS databases and various dos programs that were custom made for them practically a generation ago.
What do you think happens when they go searching for someone to patch one of these dinosaurs? They quickly realize that its cheaper to pay a programmer that knows the code to patch the existing code then it is to hire someone to write the whole thing from scratch in a new language.
Which is how programs stay in effect from LBJ to today. That's just legacy code. But you can get the same effect instantly by just using an odd language now. Bingo... customer for life. You can't be too greedy about it. But you have some additional job security. It is very unlikely that someone is going to walk in off the street or cold call them and have the resources on hand to fix their problem. They'll have to engage in a long search and who knows how effective that will be. Or they can just work with the person they know... just easier.
Instantly no competition.
I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
Is the altar on which mediocre programmers worship.
Managers love it because it makes people easily replaceable, like cogs in a machine.
Python programmers make for good cogs.
I agree with you, it was a joke, not sarcasm. It's a common tactic although with old systems in banks and government institutions it's often more about avoiding downtime than nefarious plots by developers. Such things definitely do happen though, I know for a fact my previous employers do it all the time. I'm the one that suggested it. Yes it's immoral, no we didn't care - I've got mouths to feed and they've got sports cars to buy.
first, poe's law. ;)
beyond that, I'm well aware of it and I don't especially blame you. Customers that hire developers to do special contracts are frequently two faced in negotiations. The developer will bend over backwards to get the contract and then after they've given away the best bits as an inducement the client will change their mind and go with someone else... taking your contribution with them. Writing a contract that will stop them from doing that and worse getting them to sign such a thing is very hard. Easier to exploit their ignorance to hold them to a provision of the contract they didn't even know was there.
People can say what they like about that, but I feel it is reasonable so long as you're not greedy about it. As they say "you can be a pig but you can't be a hog." You take enough that you can run your business without going into the poor house and as much as possible try to make sure they don't notice what you've done or why you did it.
One of the things great about this practice is that it is deniable. It isn't obvious why you did it.
I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
Wel, by definition, if something is copyrighted it's "released," you have to publish something in order to obtain a copyright.
Maybe everybody having their own idiosyncratic language isn't a copyright thing, but it's a pretty standard business tactic for vendors, for everyone from IBM to Apple. IBM or Control Data were happy to give you source code with their distribution, because they were pretty satisfied that you'd never be able to run the code on anything but their gear.
Nowadays shops like Microsoft or Google just create incompatible extensions to Java to keep people targeting their runtime infrastructure. Or Apple just up and creates a Rust clone (an arguably much improved one, but still pretty redolent of the original).
Don't blame me, I voted for Baltar.
Araq SHOULD have named it YASLDJ: Yet Another Shit Language Du Jour.
At some point there will be a book released titled "Secrets of Nim" and who ever makes it will get sued into oblivion.
If you can't stand it, you must be new
I intend to "fix" it because I'm tired of arguing ... not because it's a particularly good idea
Sounds like responsiveness, if araq had an easily expressed reason not to have it, he would have continued arguing.
Looks like a readable python variant.
Religion is what happens when nature strikes and groupthink goes wrong.
Looks like Ruby, just uglier
While I am no fan of "index by 1", I think it's only fair to point out that the above is not true with a compiled language.
I've fallen off your lawn, and I can't get up.
Never happens to me, and I write a lot of Python (though, on-topic, Nim looks fascinating.)
Of course, the reason it never happens to me is that my editor of choice displays tabs as (dimly, colored) visible entitles, thusly:
<-->
That's for a four-column tab, which is what I always use.
I would *like* it if my editor showed an indent level as a vertical bar, with a number prepended to the left indicating the indent level -- 1, 2... n -- I think that'd be very nice for when you page over lots of code. (Maybe I should hack on my editor... hmmm)
I'm a happy user of c, and perfectly comfortable with curly braces (I even wrote a magazine article on c bracing style way back when) but frankly, Python's way is better. Less to type, less to look at, faster to code, perfectly clear as to what's going on at all times. Presuming you use an editor that makes indentation visible. And why would you not?
I've fallen off your lawn, and I can't get up.
No. That's not an "accident"; that's a coding error. It doesn't mean the language is lacking; it means your coding skills are lacking.
Do it right, and you won't have problems. If you think doing it wrong is the fault of the language, then you are very sadly mistaken.
I've fallen off your lawn, and I can't get up.
No. It limits expressiveness so that we can all read each other's code without having to refactor the whole bloody mess. It does what c coding standards within an organization do, only it does it for everyone who writes in the language. Which is bloody awesome.
And it does so in an extremely efficient way, coding--character-wise.
Would you like reading c code where the style used was totally random? One line, the braces are all there, next block looks like K&R, next block looks wide open, next block some other way... of course not. That's bloody chaos. Well, just as it is an advantage to keep to one consistent style for you, for an organization -- so it is if *everyone* keeps to the same style. Less chaos; more and better comprehension.
Every objection to Python's whitespace mechanism I have ever heard boils down to one or both of two things: Get a better editor, and/or learn to program instead of pretending the language should have been designed to help you cope with your inability to adapt.
The very fact that someone -- anyone, never mind the legions of someones in this case -- can code very well with Python, and you can't, tells you only one thing: Your skills are inferior to theirs. Any protestations otherwise are simply one form or another of making excuses for limitations you refuse to address.
Also: One of the primary skills of any good programmer is to take the advantages of any language they are working in and leverage them to make things easier, better, faster, more efficient. If you can't do that, then you are (considerably) more limited than someone who can. In the case of consistent indentation, the advantages are quite obvious; your job as a programmer is to recognize them, grab them by the neck, and make them your love slaves. Not whine about it.
For instance, much as I despise perl's use of weird characters to mean things, I bloody well use them to my advantage anyway. Because when I write in perl, the language is my bitch. Not the other way around.
I've fallen off your lawn, and I can't get up.
Your argument that your poor code is likely to operate in a poor manner is not a valid objection to Python's indentation. It merely condemns your abilities as a coder (and perhaps your ability to choose an appropriate editor as well, but I repeat myself.)
Write good code, no problem. Your argument simply boils down to you claiming you're a lousy programmer. As do many similar arguments, such as thinking types are required because you "might" call a function wrong, or use a variable in some stupid way. If you call the function wrong, or misuse a variable, you are failing as a programmer. Do it right. Problem solved.
Back in the day, when we were writing in assembler more often than not, you'd have been laughed out of the building if you complained that the assembler should "know" what it was looking at beyond the most simple atomic architecture-related constructs. The fact is, as a decent programmer, you should know what you're looking at, and what you are doing at all times. If you don't -- the problem is 100%, entirely, beginning-to-end -- yours. You need improvement. You should seek it. Your failings will lead to bugs. Not the language's failings -- yours.
I've fallen off your lawn, and I can't get up.
Agree, I'm not particularly proud but I suspect that such 'tactics' are commonplace and I think it's kinda sad that honest and noble people engaged in business often fail or end up at the bottom of the pile simply because they do the right thing. I've been 'pushed out' of businesses in the past for standing my ground when it comes to issues of morality and even law - and that was fine at the time because nobody depended on me. Now I'm left with little choice but to go with the flow unless I want those that rely on me to pay the price for the sake of my pride. From covering up data breeches to knowingly shipping faulty products - I and I suspect many people here have seen everything from the questionable to the downright illegal happen frequently. Not even giants like Google pay their tax, don't be evil? more like don't get caught being evil.
Anonymous functions are syntactic sugar. They have no programming value of their own.
I disagree with your claim that syntactic sugar is valueless. Calling a function in an argument to another function (f(g(x))) is also syntactic sugar, as instead you could require assigning the value to a local variable. The same is true of expanding tuples on the left side of an assignment (a, b = f(c)) or even putting more than one operator in an expression ((x + y) * z). The with and for statements are equivalent to various combinations of while and try. Without syntactic sugar, we would all be programming in assembly language.
Yet another zealot who think's he's discovered the One True Way, whereas all he's really accomplished is that he's easily replaced, which is what companies love.
(And btw, all these other languages are partly inferior because they didn't adopt Python's genius significant whitespace. Most language designers must be stupid to miss that!)
Nim is so new that it does not even have a wikipedia entry. Can you really use it in production???
I think that's a nice way of saying "Oberon".
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
Just like in Pascal, which never grew on me.
C's syntax is just so homely.
Bash scripts and C++ should be enough for everyone. The rest is just pointless baggage..
I guarantee that same anal pedant saw this page, went to wikipedia just to make sure the article was deleted, lock, protected, closed for being off topic, it's all the same, wikipedia deletionists and stackoverflow morons.
Suddenly, everyone goes back to statically typed language again.
All it takes is one little const buried somewhere and you are running the malware code as part of the compiling without being aware of it! What a great feature - for an utopic world where everyone is nice.
You had me until corporate taxes.
Tax policy actually makes no sense at all. The income tax itself is problematic. And it is especially problematic when you tax a business twice.
If corporations paid taxes the way that individuals paid taxes that would mean 60 percent or so of the corporate income would go to the government and then from that remaining 40 percent you'd pay out dividends or invest in further corporate growth etc. It doesn't work.
Which is why corporate income tax tends to be very very very low. Everyone understands that the whole double taxation concept is a stupid one.
That said, the income tax system is itself problematic. Worse is the estate tax or as it is better known the "death tax" which is the reason corporations have taken over. Corporations pay no death tax. A family business has to sell off half their value every generation just to pay the estate tax. It is ruinous.
There are a lot of aspects of the taxation system that are simply stupid.
The US Federal government used to fund itself almost entirely with a tariff. The issue is controversial but there are some really nice features of that tax. One, it is very easy to collect and very simple. Two, tax fraud is smuggling and smuggling is tax fraud. And that means the IRS etc has a great interest under such a system to control the borders otherwise they'll lose revenue to smuggling. That means the borders are policed and the US Federal government will care deeply about what crosses the border because that is how they get paid. You'll note that the modern US government says they can't police the US borders. Do you believe that? Really? If that was how they generated the revenue that kept the lights on, they would probably find out how to do it.
Here you'll point out quite sensibly that the Feds couldn't possibly fund all the things they do with a straight tariff and that is quite right. However, practically everything they couldn't fund with that either shouldn't exist or should be done by the states. And the states have another good tax which is the property tax.
I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
I have been frequenting the #nim IRC channel for several months now, and I have to say that the posted conversion snippets are not at all representative. There are usually way over a hundred developers present in the channel, many of which are highly experienced and professional software engineers in various fields. The senior staff in particular is extremely friendly and helpful, and as a newcomer with lots of beginner questions I immediately felt welcome. I have witnessed many enlightening discussions about compiler design and general software architecture, not just covering Nim, but also many other programming languages and academic research projects. I also cannot approve of the criticism against Araq, the main driving force behind the language. He engages with users on a daily basis on IRC, the forums and GitHub, and is considering their opinions in the design of language or standard library features. Quite frankly, this is one of the things that I find particularly interesting about the development of Nim, because I feel that I can actually participate in the language design. The statement that Araq made with regard to implementing something because he is "tired of arguing" was certainly made out of frustration from dealing with certain users who possibly lack the depth of understanding, the professionalism and the patience that it takes to get things right. I am not aware of any single language feature that was put in place because of laziness or as a shortcut. The language still needs a lot of work, but the potential is evident. It is actually quite remarkable what a few folks have been able to put together in their free time, and I love working with Nim already. I'm curious who posted the chat snippets above. They seem to cover only three users having a heated argument, and I wouldn't be surprised if the poster was one of them.
Just in time for the Obfuscated NIM contest!
Question to those in academia:
Is it true that most students who get a masters in computer science create their own programming language as part of their studies?
227-3517
You raise very good points, I was referring to the scandal of companies like Amazon and Google using loopholes here in the United Kingdom to avoid paying the majority of what they owe in tax by shifting profits made in this country to other countries. But that said, I do see the importance of keeping business tax low especially given the points you raise (although the UK has one of the most favourable tax systems in the world for businesses and many companies and rich individuals are still choosing to cheat the system) Our western economy being based on the concept of continual growth it's reasonable to accept government claims that a higher tax on business would have a knock on effect that would harm individual households in the long term. It would be nice to see more transparency in such things and less closed door deals with our freely elected officials. Anyway I digress - Nim doesn't look bad but it's very hard to quantify the development efficiency of languages compared to others without long term use in business and for that to happen some early adopters have to take risks. It seems like a big ask. Are you yourself or anybody else aware of methodologies that can be used to quantify the (developmental) efficiency of a language? With so many factors - learning curve, error rates related to syntax possibilities/restrictions etc it seems very difficult to cast anything other than a 'gut feeling'
Well, I believe your VAT is paid by people that buy things there and your sales taxes should also be paid. Whether they owe you income taxes on top of that is debatable.
Lets say I am a company in the US and you call me up on the phone from England and order whatever it is I sell... I work out the import fees, and see to it that you pay sales tax... do I owe your government income tax as well? I don't think I do.
Now you might say "but amazon has warehouses and people that work for them in the UK which makes that part of it a UK company"... and to that I'd point out that they pay property taxes, fuel taxes, their employees pay income tax, and there are all sorts of taxes and fees that that portion of the company pays. So I don't think it is reasonable on top of that to ask for an income tax when the shareholders are already paying that.
Again, the income tax as applied to corporations doesn't make a lot of sense. Again... everyone knows it. Which is why no one tries to rake companies too hard over the coals for it. Its a dumb tax.
And there are a lot of dumb taxes. A lot of the economic problems we're suffering in the US and in Europe are the result of dumb taxes. A lot of the reason we lost so much business to china is because their taxes are a lot less dumb. The wage differences are relevant as well sometimes but it is mostly a matter of pointless regulation that forces companies to employ huge numbers of people just to fill out government documents that no one reads.
Did you ever see the movie Office Space? Remember how their bosses were obsessed with TPS reports to such an extent that they were more important then any work that actually got done? Well, our governments are doing the same thing.
In the average US hospital the upper THREE flours of the hospital are filled with accountants, lawyers, and various people that process hospital paper work. All of that has to be paid for by the patients and the insurance companies and the government via the subsidies. It is a huge waste of time and money. SOME paper work does need to be done but it should be what is needed and nothing more because every bit you require beyond that simply makes everything more expensive.
The US companies set up in Ireland because the Irish were willing to have reasonable tax policies in return for getting a lot of jobs.
Any country not willing to do that is going to lose jobs to countries that do.
Choose carefully.
I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
I see, well you clearly have a much better grasp of the issues than I do. Much of what I know about tax evasion in this country is from political debates and (biased?) media stories. :) thanks!
It does seem unfair especially given far more money was used to bail out private banks than could be clawed back by forcing companies to adhere to UK law and other countries seem to do just fine without needing such additional taxes.
I appreciate you taking the time to discuss this and explain your stance but I'd be doing you a disservice without learning more. I'll do some more research before venturing the topic again
At the end of the day, you want to make sure your taxes are not so high that you lose more business by raising the taxes then you gained in additional revenue.
What is more, when you make complex taxes that only apply in certain circumstances and not in other then you encourage people to do things in just such a way that they don't pay those taxes. Often this just requires filling out some paper work to declare one thing or another under some provision of some law rather then another. And all of that legal and financial finesse costs money because you have to hire people that know how to play the game then pay them to play it for you.
In the end, it mostly just hurts small businesses and medium sized businesses that can't thread the needle. And that is in many cases the point. Kills competition which allows established companies to operate largely unopposed because no one can handle the paperwork required to eliminate the taxes AND run the company at the same time from scratch.
In any case... good day to you.
I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
You've hit the proverbial nail on the head it seems. Succinct and I can't fault your assessment. It troubles me that I saw so little regarding an issue that is very much at the heart of our next election. You've given me much to think about - good day to you also.
I myself had this Sappeur Language quite a bit before Rust.
Now, if you would like to leave my lawn...
For crybabies there are GCs. Grownups can clean up their shite themselves. Immediately and incrementally. I dont distribute shit around the house until I literally cannot do a step without hitting a shitty pampers.
Instead I incrementally go to the loo and immediately get rid of the stuff. I also use a wastebasket instead of randomly dropping dirt onto the floor. Immediately when there is waste.
If you're at all curious, you can look into Warren Buffet's corporate empire. The man has built his entire corporate structure around not paying taxes. And yet he's generally thought well of by the tax and spend crowd.
For one thing he owns insurance companies. Insurance companies pay no capital gains taxes. Those taxes you pay when you buy a thing then sell a thing at a profit. Such as buying and selling stocks or bonds. By doing that buying and selling through his insurance companies he avoids that tax entirely.
The next thing he likes to do is buy to own rather then to sell. On longer term investments he'll just own a thing rather then buying and selling from it. When he wants to draw money from it, he'll borrow against its value. The interest rate for a secured loan is tiny. We're talking about a fraction of a percent. Compare that the tax if that money were income. What is more, debts are tax deductible. So not only does he not pay tax on the income from things he does not sell but he can actually use the profits to offset taxes he cannot avoid.
Then he owns various charities etc which allows him to throw big parties for his friends etc and deduct those expenses from other taxes owed.
And those are just the three main ways I know of that he is going out of his way to not pay taxes. His whole empire is based on the notion of not paying them.
And that is only possible because the taxes are complicated. If the taxes were simple then you wouldn't be able to avoid them. The problem with simple taxes is the same as the advantage. And many people like people to pay more and some to pay less. The result is that the poor generally pay nothing. The rich pay pretty much whatever they want to pay. And the middle class gets shafted because they have enough money to be taxed without the sophistication to game the system.
And who does all that benefit? Politicians mostly. They get to tell the numerous poor that they're sticking it to the man. They get to give a knowing wink to the elites that know where all the loopholes are... and the dump saps in the middle don't even realize what is going on.
Only way people in the middle are helped is if the job market is protected and the taxes are kept simple. The more regulations you create, the more small businesses get shut out of existence which is the primary means for people to raise themselves up in a capitalist society. You do it by making your own business. What is more, the largest employer in practically every economy is small business. They are the primary mechanism for social and economic mobility and the primary employer of everyone. And yet... the least powerful in any congress or parliament in the world.
I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.