JZed.js – The functional JQuery alternative
github.com
github.com
This kind of language doesn't belong in a software project, let alone its README, and is very likely one of the reasons software professionals are often not treated like professionals.
ps-edit: I mean, Zed Shaw knows about enterprises locked into IT contracts etc etc, so his comment was free noise. I guess that's just how he likes to speak and joke.
ps: this made me google a bit for %, seems like 6 and 7 summed are around 7%.
Try closing your eyes for a minute and imagine a land without latte art, Apple products and toques. It'll blow your mind.
[1] I've seen it in national offices were they could only use a verified systems that were implemented by some company in the win95 days so they can't upgrade. In other companies they bought brand new lenovo desktops and scrapped vista to put xp+office2k3 for IT support and compatibility reasons.
[2] I run a 2006 laptop as my main one (tpad x60s), and often use a 2005 x41 on the go with no issues.
I like a little humor in my software projects, especially the type of humor that I can relate to. It reminds me than the people I work with aren't just "software professionals", but humans with personality and a sense of humor.
If offending old neckbeards doesn't bother you, then as a software engineer, don't you think most profanities are incredibly vague and meaningless - to the point where expressing them serve as nothing but a method to reduce the signal-to-noise ratio rather than as a method of communication?
There are effective ways to indicate the whole range of emotions that a profanity may represent. Many witty, precise, nimble bits of communication that can use to delight, shock or enlighten your partner in whatever way you choose.
Profanities, on the contrary, are trite, boring, counter-intuitively childish conversational shortcuts which moreover assumes that you share a common frame of reference with someone else who will "get it", and suggests one doesn't want to invest effort to communicate distinctly one's ideas.
Frankly, your response didn't warrant a long rejoinder (as you probably didn't think it through) but it is such a common response in this thread that I thought I owed it to one of you to at least try to explain why some of us really don't put profanity in our code and try to avoid using it in a professional or personal context.
PS: I don't see the long stream of profanity in PG's essays, do you?
I choose the anarchic language of the people over your prudish, sweaty-palmed nannyism.
I've noticed many people using "freedom" as an excuse to say or do very (often intentionally) offensive things. That's not freedom, that's an abuse of freedom.
If you don't like the language, don't use the library? Seems a simple solution.
People see reactions like yours and they develop impressions that software programmers are boring stick-in-the-muds. The result is that programmers are not treated as people you'd want to interact with.
In the grand scheme of things do you think that people who write like Zed are going to feel compelled to change their behaviour because you would like them too?
That's probably better than being treated as unprofessional.
> The result is that programmers are not treated as people you'd want to interact with.
It's totally possible to be friendly and have a sense of humor without being distasteful.
> do you think that people who write like Zed are going to feel compelled to change their behaviour because you would like them too?
Nope, that thought never crossed my mind.
I understand your point and on a personal level I agree. I maintain a level of professionalism in my own work. I find that kind of language ultimately unproductive.
However, the OSS world has a good deal of engineering talent that swears like a sailor and is, at the same time, quite successful. This is simply an observable fact.
[1]: i.e. https://twitter.com/steveklabnik
[2]: probably too hard
Code is speech. Open source projects often have a subtext of affecting a political or social change either within a software community, or sometimes beyond. In this particular case, my reading of the text is that Zed wishes to create a baseline of ridicule for those who would prefer to alter software to support extremely old browsers. It's a fair position, and while he may be able to make that point without vulgar language he may also be effectively speaking to his audience with his crude humor.
As merijnv noted above, if you feel so strongly about language you're free to not use his project. He is free to speak and code as he wishes and you are free to support what you wish. This freedom of expression is extremely valuable, not because the word "fuck" has any particular intrinsic value, but because it's a culture of permissiveness which enables people to speak their minds and attempt to affect change even if they're clumsy and crude with language. Because it allows comedy -- and everyone's perception of comedic value is different.
One time, I almost used a custom license in one of my projects which would have required my users to read a controversial book that supported my stance on something. It was intended to be half-joking and half-thought-provoking. But I decided to abandon this and use a standard free license, figuring that it's completely the wrong venue to try to effect social change, and it would prohibit people from deriving any utility from my project. I wish all public software projects would do the same. I know, it's a pipe dream, but a man can wish, can't he?
> As merijnv noted above, if you feel so strongly about language you're free to not use his project.
It's not practical to avoid using a project just because I disagree with its attitude. And it makes no sense to boycott it on principle, as I don't think so highly of myself to think my stance on something like this will actually have any kind of effect. I only wanted to comment on this to open discussion about the matter.
You may want to consider that your personal values aren't representative of the norm.
Who other than programmers do you think is going to see the readme?
I've found that if you want to work as a software engineer with people who don't make those types of judgments and regard and pay you as a professional, there are more than enough opportunities.
You may find swearing distasteful, but for some of us working with people who judge us based on some moral assessment of our language is just as repulsive.
After years in the industry, I've become weary of the word "professionnal". It doesn't mean youre talented, it doesn't mean you have a good understanding of how computers really work. It only means you're good at being politically correct.
And that has very little value when it comes to developing software. You can't describe something rational using emotional language.
Both metrics look good on the surface. Yet using them shows a very poor understanding of what engineering is.
I agree with you entirely. I've heard the word "professional" at least an order of magnitude more when the topic of conversation is my mohawk rather than my work output or ability to operate in a team.
I see two options. Either I'm so middling at my job nobody would ever call me unprofessional, professional or suggest that I act more professional. Or, as I suspect, the word "professional" is a nothing but a tool to conflate the social signaling of conformance with the ability to perform a job.
If you question that others shouldn't complain about other things then we quickly end up in a world where movie critics can't criticize a movie since they didn't pay for them. Where I can't criticize google since their services are for free.
You should always speak up and voice your opinion. But your argument "don't complain, take it or leave it; it's for free" can't be applied anywhere IMO. In fact, the author should be thankful for any critique he's getting. Not getting any feedback means that nobody cares about your work or doesn't care about you failing.
Not really. It's like the movie critic spotlighting a comment the director passed on set. Or you bitching about a comment in Google's C++ code you saw on a Googler's laptop. You know, you don't have to care about that stuff. Just use it!
from his site:
"Yes I say "fuck", and quite a lot of "bad words", mostly because it's funny to watch you shit your pants at them. It's not like you're going to give me a job so fuck it, I'll say fuck. fuck fuck fuck fuck fuck*
*Did I mention? fuck"
I don't know if you're aware of http://programming-motherfucker.com/ -- again, it's a joke, a parody, and it's funny as jokes and parodies are. But honestly, I don't think anybody will really use that kind of language or attitude in a professional environment.
EDIT: typo
https://github.com/search?q=fuck
http://en.wikipedia.org/wiki/WTFPL
Why would target sites need to have jquery?
The library isn't "functional", does very little of use, and horribly pollutes the global name space.
Maybe he just felt like venting about jQuery overuse and snobby programmers.
Thanks, Zed! I really appreciate what you have done for helping in education in other programming languages. Reading a small library which does much the same as Jquery is a great addition to your materials. I may not use this as a Jquery replacement, but I will certainly be looking through the code to see what I can learn from it. I spend far too little time in the front-end and it's time to change that.
Edit: Edit: Okay, you guys didn't like my joke. So I removed the joke and expanded on the first part of my comment.
I'd say the only thing this has in common with jQuery is the use of the $. Most of the methods here can be found in many homegrown toolboxes. There is no chaining and no relationship to any of the methods here.
JZed is my alternative to JQuery
This is a tiny amount of code that has enough of the functionality found in JQuery
then I filled it out with more based on the list at http://youmightnotneedjquery.com/.
The semantics are different but the functionality is completely based on jquery.
Yes, that's the definition of a wrapper: it offers it's own API.
This library is a list of functions that are nothing but proxies for some other functions which you might as well call directly. Given that the author has written this http://zedshaw.com/essays/indirection_is_not_abstraction.htm... I am sure this is some kind of joke...
That's the whole point of making a wrapper around an API. That it doesn't look like the API you're wrapping.
Fixed $next() and $previous() not returning anything - 2 hrs agosee also mongrel2, a language agnostic webserver https://github.com/zedshaw/mongrel2
next line should read var new_tag = document.createElement(tag); not var new_tag = document.createElement("div"); unless I am missing something
Oh Zed. Don't ever change, our industry needs people like you.