5 ms·
What an abortion. Seriously just stop. Every time I see someone misuse properties like this on Objective-C, I want to hire them to work at my company just so
by jawngee 14y ago
What an abortion. Seriously just stop.
Every time I see someone misuse properties like this on Objective-C, I want to hire them to work at my company just so I can fire them. And then I would call them a few days later and apologize for being so rash and convince them to come back and work for me just so I could fire them again once they've settled into their desk.
Nobody wants your shitty javascript syntax mixed in with Objective-C. Nobody but you anyways. This isn't smart, regardless of whatever functionality it provides. You've done all this work to create this awkward, unclear, confusing, cryptic layer of shit that makes no sense when read. If I have to read documentation to understand what is going on, you've failed. This is full of fail.
WTF is A? N? N.I what the fuck is that?
underscorem is better for sure, but it still abuses property syntax in a way that I would reject on any project I saw its use in.
I'm always amazed at how much work people want to put into not having to write proper Objective-C. It doesn't make any sense.
So slow clap for writing some useless crap. Sorry for the vitriol, but this shit is just dumb.
- jawngee 14y agoAnd just as a follow up, it's kind of sad because it looks like you put a lot of work in this. But as someone who writes nothing but Objective-C (well, some C++ too) all day, every day, for a living. I would never ever use this. Mostly because it's obvious that you don't get objective-c and are trying to shoe horn some weird javascript idioms into a place where it doesn't belong. I hate seeing wasted effort. I understand underscore provides nice functionality in javascript land and would appreciate someone taking the time to bringing similar functionality to objective-c in a way that fits and is natural with it's surrounding code. As this is, no.
- obituary_latte 14y agoCan't wait to see your version. When it does come out, I hope others can be constructive without coming across like a cunt. Nobody likes that stuff, and as we all know, it's not very helpful.
- sirclueless 14y agoWell, it's not his, but http://underscorem.org/ http://underscorem.org/ looks wayyyy cleaner. It's not the basic concept of a collection of array and hash manipulation functions that's contentious, it's the godawful syntax brought on by abbreviating all of Objective-C's types.
- ashray 14y agoI'm curious to know then what your take on coffee script is ?
- floatingatoll 14y ago"How dare people port X to run on Y! This has no place in production code and you are WASTING OUR TIME doing theoretical experiments!" Saying "Sorry for the vitriol" doesn't excuse being an ass, it just confirms that you were being an ass intentionally. How is your verbal assault an appropriate response to this project?
- mr_luc 14y agoWell said. The original commenter could easily have said that "This project is sacrificing readability to be terse, and I don't think it's a good tradeoff. N.I? That's not Objective-C, and I don't know anyone that would use it in production code. Interesting experiment, but I'm not impressed." That's not how I feel; that's just an example of how I'd have expressed his sentiment. But I don't feel that way, because I think the reasoning behind the sentiment is flawed. If the argument is about 'wasted development effort', I understand the arguments that effort should be directed at things that benefit a community, but this isn't a project like Meteor that reinvents package management and relegates Node.js to a component in a new platform; this is just a dude writing a module of helpers. And if the argument is that 'no one should use this in production', well, individuals who write libraries that are in tune with their own personal taste are what a website called 'Hacker News' is about.
- jawngee 14y agoIt is because this is that offensive to anyone who writes objective-c for a living. First of all, you are using properties to fake dot syntax for method calls. This is all kinds of wrong. Second of all, you are shortening the names of types because you are too lazy to type the first letter and hit space. This is beyond wrong. It's not the functionality, it's the implementation. And when writing libraries for others to use, you must consider how it fits into that surrounding code. There are a bazillion smart people working at Apple writing objective-c libraries. Have you seen anything like this? You think maybe there is a reason for that? Its just plain lazy, its just plain offensive. Learn objective-c. It's not that hard. Stop putting in all this work to produce something to fit this idea you can get around your weird perceptions of it and to shoehorn it into what you already know. Like I said in another post, it's sad because there seems to be a lot of work put into this.
- orangecat 14y agoWow. Did somebody run over your dog today?
- cageface 14y agoI really can't think of any language community that's as religiously defensive as the Obj-C purists. (except for maybe the worst of the Common Lisp queens) People try to hack Obj-C syntax because it's a verbose, clunky, awkward syntax. Ok maybe the explicitness of something like tableView:cellForRowAtIndexPath:dequeueReusableCellWithIdentifier: is OK but the syntax for blocks and anything to do with collection classes is an abomination. Thankfully Apple has finally fixed the latter case. The next thing they need to do to reduce the stuttering is steal the var keyword from C# and introduce proper namespaces.
- pooriaazimi 14y agoI'm not familiar with C#, but if `var` is anything like `auto` in C++11, I think there's a good chance that they'll add it very very soon.
- cageface 14y agoIt's pretty much the same thing. Since they already support the use of auto in Obj-C++ mode it doesn't seem like too much of a stretch, although Apple do currently caution against using auto for Obj-C variables due to some Arc issues.
- joncooper 14y agoI agree with your criticism but there's no excuse for being such a jerk. Settle down.
- pjmlp 14y ago100% with you. I also don't understand this JavaScript everywhere. Why can't kids learn to program in multiple languages nowadays?!
- upinsmoke 14y agoThis uses SubjectiveScript.m by same author: https://github.com/kmalakoff/SubjectiveScript.m https://github.com/kmalakoff/SubjectiveScript.m A, N are typedefs of existing types. "While JavaScript allows flexibility in variable types, Objective-C requires explicit variable types. To try to keep it brief, I tried to condense types down to the shortest name possible: typedef BOOL B; typedef NSInteger I; typedef NSUInteger UI; typedef float F; typedef double D; typedef id KV[2]; // key-value pair #define NSO NSObject #define A NSMutableArray #define NSA NSArray #define O NSMutableDictionary #define NSD NSDictionary #define S NSMutableString #define NSS NSString #define Date NSDate #define N NSNumber #define E NSException" Just read that want me to stay far away from this.
- kalleboo 14y agoI'm not sure why this guy just doesn't use MUMPS instead
- joubert 14y agoShortening NSUInteger to UI is anti-ergonomic in a language used to construct UI's. I'm also surprised that O stands for NSMutableDictionary but NSD for NSDictionary. What is an "O"? Another thing I would argue is that using the shorter #defines for mutables would encourage their use. Instead, it might be prudent to encourage use of the immutables.
- mikeash 14y agoMost of those typedefs are just silly, but the KV typedef is outright dangerous, since arrays are treated very differently from other values in C. Try returning a KV from a method and you're in for a big surprise.
- pilgrim689 14y agoThis isn't smart, regardless of whatever functionality it provides. You've done all this work to create this awkward, unclear, confusing, cryptic layer of shit that makes no sense when read. [...] This is full of fail. Since when does writing in a different style deserve such verbal abuse? (people are upvotting this?!) Open up a little and appreciate that software development has an artistic side to it. If that style has engineering drawbacks ("misuses properties" is not valid unless you explain how this misuse is bad for a codebase), then bring those up without souding profoundly deranged.
- mikeash 14y agoConversely, this makes me want to abuse the language as much as possible (not like I have much room to grow, there) just so I could get a job interview from you, accept, then tell you on my starting day that I changed my mind, and string you along like that.