Jump to content

The Official Nerd People Problems Thread


lostone
 Share

Recommended Posts

  • Replies 146
  • Created
  • Last Reply

Top Posters In This Topic

Apple chose Objective-C because they bought NeXT, which is basically the founding father of Objective-C(they didn't invent it, but they made it popular). And knowing Apple, it was basically a F-U to the rest of the development world. Objective-C is really only used when programming for Apple. It can be used on other OSes but I can't imagine why you would want to.

Swift is the equivalent of .NET. All the major players want their own language for their own products. They are trying to loosen the hold Java has on everyone since Java is now owned by Oracle who could take their ball and go home at any time.

If someone wants to create a new language and build from the ground up going forward I have no problem with that. It's smart and it makes sense going forward. Re-writing everything that's already here because some azzhole can't manage a buffer, or typecast a (void *) with a MACRO is bad business sense.

Objective-C not being popular with the rest of the development world is not an F-U on apple's part. Objective-C is a strict superset of C, so all C code is valid. How is that an F-U? Apple cannot control what languages are popular or not. NeXT developers probably lied Objective-C and apple stuck with it, because it worked. Apple has no problem open sourcing their stuff, so Swift is not going to be like .NET. They are still finalizing the language, so I think they are waiting until Swift 2.0 to open source the runtime and compiler and allow LLVM devs to integrate it into their Linux version.

Swift came around because apple wanted a modern language with modern features that they were not able to do with. They were tired of the baggage of objective-c when it was unnecessary in modern times. You can have a language that is faster and safer than objective-c while still allowing c interoperability.

Rust has C bindings, so you do not have to rewrite everything. There is probably have a lot of code in production that is horribly written that would benefit from being rewritten into a language like Rust with safety over trying to fix all the problems. Also calling people ******** because of a mistake is pretty silly. I know you are not going to act like you write perfect code all the time?

Link to comment
Share on other sites

Fux this sh!7!!!!!

COBOL runs the money. Assembler runs your insurance

Bow down. The world runs on JCL!! The business will not pay to convert... The cycle has been stable for 50 years!!!

COBOL holdouts will soon have to convert, because they are definitely not making COBOL devs like they used to. In 5-10 years when you mention COBOL, people are going to ask what cobault has to do with programming.

eevl.gif

Evil Hipster Laugh

Link to comment
Share on other sites

Also calling people ******** because of a mistake is pretty silly. I know you are not going to act like you write perfect code all the time?

Of course not, but the Heartbleed bug you mentioned was because someone didn't do a proper bounds check while reading a buffer pointer. That's cool, no big deal, shyt like that happens....but someone else reviewed the code and approved it anyway. 2 sets of eyes saw it and no one caught it. That's a human failure and not a language specific failure. C#, Java, Php, etc. all do this for you but sacrifice speed. Still goes back to training wheels on a bicycle. With them on the bike, the rider is safer and less likely to wreck, but travels at a slower pace. Take them off and the rider is free to travel as fast as they like but you lose the layer of safety.

Different tools for different projects.

Link to comment
Share on other sites

Of course not, but the Heartbleed bug you mentioned was because someone didn't do a proper bounds check while reading a buffer pointer. That's cool, no big deal, shyt like that happens....but someone else reviewed the code and approved it anyway. 2 sets of eyes saw it and no one caught it. That's a human failure and not a language specific failure. C#, Java, Php, etc. all do this for you but sacrifice speed. Still goes back to training wheels on a bicycle. With them on the bike, the rider is safer and less likely to wreck, but travels at a slower pace. Take them off and the rider is free to travel as fast as they like but you lose the layer of safety.

Different tools for different projects.

It was definitely a human failure in the end, but now that we have the advancements in programming, shouldn't we be pushing to use better tools that do not have these problems, if they are just as performant as the incumbent language?

Of course different tools for different projects. I am mentioning rust in system programming, not using JS as a system programming language. The point of Rust is to create a language that gives you the safety of using the training wheels while giving you the performance of having them off. And when you have to be unsafe because performance requires it, it allows you to still do that. Like the lil hispanic girl in the taco commercial. "Why not both?".

Rust is an attempt to make an improvement on the wheel not a reinvention of it and give you the ability to have safety and performance. I respect what it is doing, but who know if it will ever catch on. I believe mozilla is planning on using in their browser. I at least hope that the language maintainers that are working on the next iteration of C will look at languages like Rust and take some inspiration to make their language safer and better.

Link to comment
Share on other sites

COBOL holdouts will soon have to convert, because they are definitely not making COBOL devs like they used to. In 5-10 years when you mention COBOL, people are going to ask what cobault has to do with programming.

eevl.gif

Evil Hipster Laugh

This sounds like the 1980s

Billions will be spent... To convert working systems that haven't had a defect in 30+ years... The business is going to be ready for that. VSAM and assembler being converted with no defects?? GLHF.. Billions spent for no business value...

Link to comment
Share on other sites

It was definitely a human failure in the end, but now that we have the advancements in programming, shouldn't we be pushing to use better tools that do not have these problems, if they are just as performant as the incumbent language?

Of course different tools for different projects. I am mentioning rust in system programming, not using JS as a system programming language. The point of Rust is to create a language that gives you the safety of using the training wheels while giving you the performance of having them off. And when you have to be unsafe because performance requires it, it allows you to still do that. Like the lil hispanic girl in the taco commercial. "Why not both?".

Rust is an attempt to make an improvement on the wheel not a reinvention of it and give you the ability to have safety and performance. I respect what it is doing, but who know if it will ever catch on. I believe mozilla is planning on using in their browser. I at least hope that the language maintainers that are working on the next iteration of C will look at languages like Rust and take some inspiration to make their language safer and better.

Language must have unit testing built in to stand a chance...
Link to comment
Share on other sites

Language must have unit testing built in to stand a chance...

I have no clue how they are able to do it, if they are even able to do it. I have only looked at Rust at a glance, and my knowledge about the inner workings of languages in general is still very noobish. All I know is that is is all based on the compiler. They have the language hosted on github, but aint no body got time to read that.

This sounds like the 1980s

Billions will be spent... To convert working systems that haven't had a defect in 30+ years... The business is going to be ready for that. VSAM and assembler being converted with no defects?? GLHF.. Billions spent for no business value...

They could always start hiring out devs and then throwing them into training for COBOL, which is going to be expensive. What do you think businesses will do that are using COBOL in production, but are finding it harder and harder to find devs to maintain these systems?

Link to comment
Share on other sites

I have no clue how they are able to do it, if they are even able to do it. I have only looked at Rust at a glance, and my knowledge about the inner workings of languages in general is still very noobish. All I know is that is is all based on the compiler. They have the language hosted on github, but aint no body got time to read that.

They could always start hiring out devs and then throwing them into training for COBOL, which is going to be expensive. What do you think businesses will do that are using COBOL in production, but are finding it harder and harder to find devs to maintain these systems?

Well COBOL is easy to read and understand. JCL is a little more complex, but still easy. Understanding the built in jobs ibm has built in is very important. Converting/creating financial record keeping systems is insanely expensive. Hardly anyone knows assembler, yet insurance companies probably have not converted that code yet because it's been working for 40 years. I would have night terrors converting year end jobs.
Link to comment
Share on other sites

I am normally one to argue that we are not in a tech bubble, but then I see something like this and consider changing my stance on the matter.

Rack Mounted Mac Minis....

original.jpg

And if that was not insane enough

Rack Mounted Mac Pros

original.jpg

original.jpg

Is this more or less expensive than say AIX hardware?

Link to comment
Share on other sites

Is this more or less expensive than say AIX hardware?

Not sure. From the article I read, this was the most cost effective, since they do image rendering and rely on OSX graphics libraries. The original plan was Linux servers, but the libraries were not there. It is running a Xeon processor with dual GPUs, so it cannot be all bad for rendering.

Link to comment
Share on other sites

Nothing that bothers me more than when someone builds an interface that only has a single class that implements it or ever will implement it. Even worse than that is an object inheritance structure that is 6 layers deep. I hate when you have to dig through an objects family tree only to find that the property/function you were looking for is 4 layers deep.

Edited by DirtyBirdKert
Link to comment
Share on other sites

Nothing that bothers me more than when someone builds an interface that only has a single class that implements it or ever will implement it. Even worse than that is an object inheritance structure that is 6 layers deep. I hate when you have to dig through an objects family tree only to find that the property/function you were looking for is 4 layers deep.

Spring disagrees with you on interfaces...

I repeat favor composition over inheritance!

Link to comment
Share on other sites

Spring disagrees with you on interfaces...

I repeat favor composition over inheritance!

Sure, it may be 'by the book'/what your college professor teaches you or make for prettier text. But strickly speaking, it most real world situations, it just makes for more of a hassle. In my case, I am on a very aggressive 3 week build cycle with the applications I work with, and working in a solution that has 200+ projects, it waste vast amounts of time having to sift through code.

Link to comment
Share on other sites

Ummmm if you didn't know... I agree with you.

Typically you have SOA/DDD layers for a reason.

Favor composition over inheritance is a principal of programming and works well. Sometimes inheritance makes sense. A lot of times people over use it. I prefer delegation to some other service or to use a strategy pattern.

Cntl+t in eclipse FTW!

Also modulization + rest interfaces/services == friend!

Link to comment
Share on other sites

  • 2 weeks later...

Did a code review for a project a new group of interns was working on. After spending two hours trying to straighten things out because the numb skulls don't know how to use basic revision control software, I actually get to open the project. 16 files, and not one single comment anywhere.

365.gif

Link to comment
Share on other sites

Not sure. From the article I read, this was the most cost effective, since they do image rendering and rely on OSX graphics libraries. The original plan was Linux servers, but the libraries were not there. It is running a Xeon processor with dual GPUs, so it cannot be all bad for rendering.

Wow, can't imagine Apple being cost effective, but I also don't know what they are doing. Though Unix/Linux's one downfall is it's graphical rendering abilities, though that isn't what it's designed for. Where did you find this? You may have mentioned it, but I forgot if so.

Link to comment
Share on other sites

Wow, can't imagine Apple being cost effective, but I also don't know what they are doing. Though Unix/Linux's one downfall is it's graphical rendering abilities, though that isn't what it's designed for. Where did you find this? You may have mentioned it, but I forgot if so.

http://photos.imgix.com/racking-mac-pros

Here is the article where the photos came from

Link to comment
Share on other sites

Maybe they have self documenting succinct code. Don't need comments if your code is clear and concise.

I know good and **** well those kids wrote horrible code that just sorta works and has absolutely no structure.

90% of a project's outcome is determined by what you do with the first 10%, the planning stage. Failure to plan is planning to fail is the motto I use. Old but SO true. You're right though, it was a pile of steaming **** that was smashed together in the hopes that it will kinda do what was requested if they just keep stacking more **** on it.

They were given a deadline on a project that was realistically bigger than what they could've handled. This is pretty standard for when we bring on several interns at once to see how they handle the environment. I asked them how the project was going, they kept their answers short, but said it was going well. They were keeping such a low profile and never had anything much to say about it, so I suspected they were having problems. I went and set-up a Skype group just so they could reach me if they had any questions. Outside of acknowledging that I had added them to the group, I never heard anything. So it's the final week of their project, and I can just tell that they're shitting themselves at this point. I offer to review what they have, and it turns out that most of them just broke off and did their own thing. From the beginning they never did any documentation, barely used the repository I set-up for them, and were just trying to slam things together with the hope that it will somehow work at the end. No communication, no planning, no teamwork, and nothing but excuses. All of them are gone now except one, and that's because she actually owned up to what she did wrong rather than try to beat around the bush or stare at me like I was speaking in tongues.

I just don't see how you can make it as far as this batch had in college and be as dysfunctional as they were. When you can't even begin to explain to me what your own code does, how the **** do you think you can keep adding onto it and make it work?

Link to comment
Share on other sites

90% of a project's outcome is determined by what you do with the first 10%, the planning stage. Failure to plan is planning to fail is the motto I use. Old but SO true. You're right though, it was a pile of steaming **** that was smashed together in the hopes that it will kinda do what was requested if they just keep stacking more **** on it.

They were given a deadline on a project that was realistically bigger than what they could've handled. This is pretty standard for when we bring on several interns at once to see how they handle the environment. I asked them how the project was going, they kept their answers short, but said it was going well. They were keeping such a low profile and never had anything much to say about it, so I suspected they were having problems. I went and set-up a Skype group just so they could reach me if they had any questions. Outside of acknowledging that I had added them to the group, I never heard anything. So it's the final week of their project, and I can just tell that they're shitting themselves at this point. I offer to review what they have, and it turns out that most of them just broke off and did their own thing. From the beginning they never did any documentation, barely used the repository I set-up for them, and were just trying to slam things together with the hope that it will somehow work at the end. No communication, no planning, no teamwork, and nothing but excuses. All of them are gone now except one, and that's because she actually owned up to what she did wrong rather than try to beat around the bush or stare at me like I was speaking in tongues.

I just don't see how you can make it as far as this batch had in college and be as dysfunctional as they were. When you can't even begin to explain to me what your own code does, how the **** do you think you can keep adding onto it and make it work?

This is the sad state of programming ... most suck... the ones out of college/ in college need to be given structure because most dont know how to code in a team environment. That was destined for failure by that fact. I had no idea how to code in a team environment. I just knew how to make things work and had no structure... I learned as I grew. SOA is layered as it is, is a very good at keeping people in check through writing simple services.

My team recently went through acceptance test driven development... the key here that I got out of it was getting your tests ready before you code... which is huge IMO. you should be able to identify what you are testing before you start coding. But the instructor hinted at something... it was core... Domain Driven design... the first thing you are suppose to do is establish a common language between the business and IT. ATDD + DDD == win!!!

Link to comment
Share on other sites

.... Yesterday... Just awful...

When you have to say "Look here at line 19400 at what this code is doing" (BTW the total size was 31k lines) you know you are in for a world of hurt. Usually I try to solve the problem without debugging... not this time :/

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...