Podcast: Technology Choices

Christy:

Yeah. I don’t want to like stereotype people or anything, so I went to the city University and studied Computer Science and there was like two hundred people or something and you came up against these dudes who were just this is how its done, you’re an idiot for not thinking this is how its done. Totally just stuck in their ways and I’m fine with being stuck in your ways. Like yeah, you find something and you get comfortable with it, but with programming and this entire industry it all moves so quickly that you can’t just sit on a programming language.
I wouldn’t say I’m a PHP Developer or anything, even though we mainly code in PHP I’d say I’m a programmer because you learn to program. You learn the concepts and then they shouldn’t technically like between the sets of programming and Object Time takes and in the function. You should just be able to apply them to other languages. Thus, bringing it back to this whole thing of selecting a technology best suited to the situation and not just being a massive fanboy. I’m a sucker for the newest, coolest and this does not mean that I’m going to use that on every project that’s just because personal interest. That’s the thing. Your personal interest can take you wherever you want, but at the end of the day when it does come back to the job you have to choose the right tools for that job. You have your opinion and your opinion is what the right tools are, not what your favourite programming language is.

Dan:

Completely. All of those arguments always based around just one aspect of programming language, so you’ll have someone arguing about a programming language being best at design. The way you write it is I say it looks nice and those are important things because you’ve got to enjoy using it, but that’s like one aspect for programming language. There’s also how well adopts it is there. Which I would say is again, a quite complex thing. Coming back to whats the best city to live in, you know. There’s a complex set of reasons pros and cons of why somewhere is good and works. Why living somewhere? Why you like it and things you don’t like about it. You live in a city there’s way more opportunity. There’s way more stuff going on. You’re more likely to get mugged. All programming languages have pros and cons. The latest and greatest might be incredibly fast.

Christy:

That’s a good analogy for Java. Yeah, yeah. Its got everything, but you’re getting mugged. If we went for a couple of them like for example, two of the big ones that are always slated is Java and PHP. Java, I don’t know it maybe is just not a cool language or something like that, but that language is the perfect language for teaching someone how to program because all of the contracts in programming are enforced so strict that you should just totally start with Java. If you want to learn Object Time take to programming. Start with Java, because you have to. You can’t do anything that isn’t an object. That’s great for that if you get what I mean. Then there are these massive applications for speed and stuff like that. Where Java its totally the top choice here.
PHP came out with a new rule the other day about one article internet literature specifically about programming languages. Specifically PHP. I would not read an article, unless its being published in a book. I’ve had enough of all these blogs and all of that like ‘All you PHP newb’ and all of this stuff and its like well, come on man you’re doing something within an array and you’re like I need to fill this array. You don’t even have to look it up in the doc. Array underscore fill array. Anything you ever wanted to do and you’re like all right I want the third element of this array. Get third element of array.
I guarantee there’s a function for that. On top of that its quick to develop the world of support and services there’s hardly any sort of time. Everyone knows it. Especially we deal with loads of startups. Why would they not go with PHP? Everyone is like ‘Yeah, what about the speed? And this and that and the other. It hits the point where speed matters. They’ve made it. Cool. Boat loads of money, getting in house Ruby team if you like, so please, but the point is until that happens, until speed is an issue, use PHP. To be honest you could just use that Facebook thing that compiles it down to C.

Dan:

I think you’re absolutely right. Facebook is a really good example because there’s someone who started out with a set of technologies and as they grew and kind of went beyond what those technologies could do. They started building their own because the problem comes to that as well. If you build your own technology and you’re going to know it, but its going to be completely pinpoint on what you’re requirement for it is. You do see a lot of people kind of moaning and I would just say its programmers trying to make things better and simultaneously upsetting each other, basically. That’s what all that stuff is.
Otherwise, other things you’ve got considering the programming language is how many people are contributing to that? How many people’s ideas is this a combination of?, because then you could really leverage something there. You’ve got entire community all trying to make this one thing better and of course it fragments, but that’s just how something evolves isn’t it? If everyone just stayed on with one programming language and one way of doing it. It would stay for that way forever, but it doesn’t. It fragments and evolves, so that’s what you’re seeing there, but as someone that’s picking technology there’s nothing that says I’m going to get any benefit from being one of those little fragments from being at that absolutely forefront.

Christy:

This is true.

Dan:

I would say this is more benefit from kind of playing it safe because different circumstances need different decisions and when the circumstance is a business you’ve got to consider a lot more. Actually I’ve read something really good currently by if I remember Upper Links or some where, but it was basically saying that you pick your tools and you push your tools as far as you can take them. Just because there’s another tool that could do the job that you’re trying to do better, if you can use your existing tool to do it well enough then do. The benefit of having a few well chosen tools is perfect.
What you don’t want is say okay here’s all the different technologies we’re using on this project and there’s loads of them. Who’s going to be able to pick that up and run with it, ever? That’s then a business risk. If that client turns around and goes ‘Hey, do you know what we really need to increase the speed through the making changes here. We’re going to hire someone in. Can you let me know the technology to use?’ You’ve got to ask them with like a bible of different technologies and just go well good luck with that. What’s happened there? Its my choices and my not being sensible in the terms of pick. Have now caused your business damage, you know?

Christy:

Did you refer to that as technical debt at some point I feel like you might have tried to coin some name your technical.

Dan:

The technical debt.