atomium (OP)
Donator
Sr. Member
Offline
Activity: 406
Merit: 252
Study the past, if you would divine the future.
|
|
January 24, 2013, 02:14:44 AM Last edit: January 24, 2019, 05:04:47 PM by atomium |
|
Closed
|
|
|
|
MonsterZero
Member
Offline
Activity: 72
Merit: 10
|
|
January 25, 2013, 12:13:24 AM |
|
As an experienced coder in a language you did not specify I'd like to ask why you, as a business person would pick specific languages to write software in.
|
|
|
|
atomium (OP)
Donator
Sr. Member
Offline
Activity: 406
Merit: 252
Study the past, if you would divine the future.
|
|
January 25, 2013, 12:16:36 AM |
|
As an experienced coder in a language you did not specify I'd like to ask why you, as a business person would pick specific languages to write software in.
good question, for this project I've had different opinions as to which language would be the best, so I included all 3. Some say it can be done with PHP, but it will be built better with Ruby, then some say Python would be better than Ruby and vice versa. So just decided to include all 3 and I'll decide with my partner and see which is best. Someone who knows all 3 would be great but I'm sure that will be difficult to find.
|
|
|
|
BCB
CTG
VIP
Legendary
Offline
Activity: 1078
Merit: 1002
BCJ
|
|
January 25, 2013, 01:02:30 AM |
|
I would not recommend running a bitcoin business on RoR.
|
|
|
|
atomium (OP)
Donator
Sr. Member
Offline
Activity: 406
Merit: 252
Study the past, if you would divine the future.
|
|
January 25, 2013, 01:03:51 AM |
|
I would not recommend running a bitcoin business on RoR.
ohh really, why is that? which language do you think will be the most secure in your opinion?
|
|
|
|
BCB
CTG
VIP
Legendary
Offline
Activity: 1078
Merit: 1002
BCJ
|
|
January 25, 2013, 01:07:15 AM |
|
|
|
|
|
malevolent
can into space
Legendary
Offline
Activity: 3472
Merit: 1722
|
|
January 25, 2013, 01:10:42 AM Last edit: January 25, 2013, 01:25:17 AM by malevolent |
|
I would not recommend running a bitcoin business on RoR.
ohh really, why is that? which language do you think will be the most secure in your opinion? RoR is a framework written in Ruby, Ruby is a language. If I were you I wouldn't limit myself to specific languages unless it is because you want to develop the website in languages you know yourself (but as you are the one looking for the software developer, probably someone with more experience than you, I don't see why you would do that; even then, you can simply take some time and learn the language in question). I would understand more if you were to limit yourself to specific frameworks as each may have a different purpose). BTW. Python all the way
|
Signature space available for rent.
|
|
|
Ichthyo
|
|
January 25, 2013, 04:26:27 AM |
|
Choice of language is one thing, but prior to that should be a choice and decision on the architecture of your system. Even before that, there should be an evaluation and decision on the target platform to run, and even before that there should be a evaluation, plan and decision on the way you want to handle the operations part of your business, how you want to deal with software quality and security.
To illustrate that a bit: Many heavyweight banking or shopping systems are written in a statically typed language and deployed on an Application server cluster. Thus, when a company has decided upon this basic direction, typically they draw on the pool of developers and technicians from one of the relevant ecosystems (Java, Windows / .Net, C/C++, ...). Each of these come with a specific mindset and set of best practices; also, the available pool of skilled people might be different.
Also, even medium sized systems benefit from a separation between backend and frontend (presentation layer). Still the more so, when security is an issue. In that case, the backend could be based on a more heavyweight technology with well established security and quality practices, while the front-end could use a language (Ruby, Groovy, Python, JavaScript, VB) and framework to support rapid development and quick adaptation to changed needs.
There is a catch though. It is rather rare for developers to be equally proficient in both of these two disciplines. Some people are able to create you a slick website in just 2 weeks, and quickly adapt it to your ideas, but fail miserably when it comes to build maintainable code, which is easy to operate on the long run and can be scaled up as the business grows. Other people are good in the latter mentioned disciplines, but will require 4 times as long for the initial launch and aren't very responsive when it comes to demands for quick change. And finally, you'll never be able to get low cost, quick time-to-market, and high quality/security/durability at the same time; if you do your job well, you might be able to get two of these goals.
So, in the end, the success depends very much on how you, as a founder set the priorities, lead your people and ensure the project remains on track. There is no one-size-fits-all method to achieve that. You might proceed methodically, or just decide to buy best-of-breed and only do minimal in-house development, or go for the mad 80+ hours a week sprint with people excited about the goal. These decisions should be first, followed by a system plan and architecture, and only as a last step comes the decision for a specific technology (framework, platform, language(s)).
|
|
|
|
atomium (OP)
Donator
Sr. Member
Offline
Activity: 406
Merit: 252
Study the past, if you would divine the future.
|
|
January 25, 2013, 04:41:17 AM |
|
Choice of language is one thing, but prior to that should be a choice and decision on the architecture of your system. Even before that, there should be an evaluation and decision on the target platform to run, and even before that there should be a evaluation, plan and decision on the way you want to handle the operations part of your business, how you want to deal with software quality and security.
To illustrate that a bit: Many heavyweight banking or shopping systems are written in a statically typed language and deployed on an Application server cluster. Thus, when a company has decided upon this basic direction, typically they draw on the pool of developers and technicians from one of the relevant ecosystems (Java, Windows / .Net, C/C++, ...). Each of these come with a specific mindset and set of best practices; also, the available pool of skilled people might be different.
Also, even medium sized systems benefit from a separation between backend and frontend (presentation layer). Still the more so, when security is an issue. In that case, the backend could be based on a more heavyweight technology with well established security and quality practices, while the front-end could use a language (Ruby, Groovy, Python, JavaScript, VB) and framework to support rapid development and quick adaptation to changed needs.
There is a catch though. It is rather rare for developers to be equally proficient in both of these two disciplines. Some people are able to create you a slick website in just 2 weeks, and quickly adapt it to your ideas, but fail miserably when it comes to build maintainable code, which is easy to operate on the long run and can be scaled up as the business grows. Other people are good in the latter mentioned disciplines, but will require 4 times as long for the initial launch and aren't very responsive when it comes to demands for quick change. And finally, you'll never be able to get low cost, quick time-to-market, and high quality/security/durability at the same time; if you do your job well, you might be able to get two of these goals.
So, in the end, the success depends very much on how you, as a founder set the priorities, lead your people and ensure the project remains on track. There is no one-size-fits-all method to achieve that. You might proceed methodically, or just decide to buy best-of-breed and only do minimal in-house development, or go for the mad 80+ hours a week sprint with people excited about the goal. These decisions should be first, followed by a system plan and architecture, and only as a last step comes the decision for a specific technology (framework, platform, language(s)).
Thank you for taking the time to write this out, I was not aware of this until you explained it very clearly, I will definitely in mind all of the tips you gave here. In my case, security will be one of the main concerns so I should look for someone that is proficient in it and that can build a great foundation for the system to be able to grow and expand without have major security flaws.
|
|
|
|
gyverlb
|
|
January 25, 2013, 04:50:58 AM |
|
I would not recommend running a bitcoin business on RoR.
ohh really, why is that? which language do you think will be the most secure in your opinion? RoR has exploits in it, and php is probably the most secure cause it is been around for a while so bugs and exploits have been patched. Noob alert: RoR is a framework, PHP is a language. RoR had *one* recent fix for an exploit, I don't know of any other in the latest releases (so where are the exploits referred to above?). Almost all languages and frameworks have exploits being fixed. What is important is the frequency at which they occur, how much time is spent waiting for a fix and you having competent people available to apply it in a timely maner.
|
|
|
|
SgtSpike
Legendary
Offline
Activity: 1400
Merit: 1005
|
|
January 25, 2013, 05:29:28 AM |
|
Choice of language is one thing, but prior to that should be a choice and decision on the architecture of your system. Even before that, there should be an evaluation and decision on the target platform to run, and even before that there should be a evaluation, plan and decision on the way you want to handle the operations part of your business, how you want to deal with software quality and security.
To illustrate that a bit: Many heavyweight banking or shopping systems are written in a statically typed language and deployed on an Application server cluster. Thus, when a company has decided upon this basic direction, typically they draw on the pool of developers and technicians from one of the relevant ecosystems (Java, Windows / .Net, C/C++, ...). Each of these come with a specific mindset and set of best practices; also, the available pool of skilled people might be different.
Also, even medium sized systems benefit from a separation between backend and frontend (presentation layer). Still the more so, when security is an issue. In that case, the backend could be based on a more heavyweight technology with well established security and quality practices, while the front-end could use a language (Ruby, Groovy, Python, JavaScript, VB) and framework to support rapid development and quick adaptation to changed needs.
There is a catch though. It is rather rare for developers to be equally proficient in both of these two disciplines. Some people are able to create you a slick website in just 2 weeks, and quickly adapt it to your ideas, but fail miserably when it comes to build maintainable code, which is easy to operate on the long run and can be scaled up as the business grows. Other people are good in the latter mentioned disciplines, but will require 4 times as long for the initial launch and aren't very responsive when it comes to demands for quick change. And finally, you'll never be able to get low cost, quick time-to-market, and high quality/security/durability at the same time; if you do your job well, you might be able to get two of these goals.
So, in the end, the success depends very much on how you, as a founder set the priorities, lead your people and ensure the project remains on track. There is no one-size-fits-all method to achieve that. You might proceed methodically, or just decide to buy best-of-breed and only do minimal in-house development, or go for the mad 80+ hours a week sprint with people excited about the goal. These decisions should be first, followed by a system plan and architecture, and only as a last step comes the decision for a specific technology (framework, platform, language(s)).
Thank you for taking the time to write this out, I was not aware of this until you explained it very clearly, I will definitely in mind all of the tips you gave here. In my case, security will be one of the main concerns so I should look for someone that is proficient in it and that can build a great foundation for the system to be able to grow and expand without have major security flaws. Security needs to be the #1 concern. You've been here for a few months, you've had a taste of how Bitcoin can go wrong with the coins themselves are handled incorrectly. And if you're selling software to other companies, you'd better be dang sure that they can't blame any loss of coins on you, or you'll be bankrupt with a stack of lawsuits in a hurry.
|
|
|
|
|
schalk
Newbie
Offline
Activity: 36
Merit: 0
|
|
January 25, 2013, 06:25:47 AM |
|
I disagree, security should not be your #1 concern when choosing a language. Almost all your mainstream languages can be security, Ruby on Rails, Java, ASP.NET, PHP. I believe your main concerns when choosing a language are:
There are a couple of questions you need to ask yourself:
Business Perspective Will it be hard to find more developers to work on it? (If you look at job search sites you will notice that there aren't many Ruby on Rails jobs, however there are plenty of ASP.NET jobs.
How important is cost in relation to maintainability/testability? (I know from real world experience that ASP.NET Webforms is a lot easier for developers to understand and development time is faster (therefore you can get a junior developer later down the track), on the other hand ASP.NET MVC allows for great maintainability and testability, however this does require people who are more experienced and know a thing or two about architecture (usually these developers cost more).
Software Cost? Do you have money to pay for additional software. ASP.NET has a lot of tools out there you can pay for, SQL Server, Windows Server, Telerik Controls etc.
Hardware Cost? What type of infrastructure will you need, how scalable should your site be?
How easy is it to secure? Even though most languages have the ability to be secure, other are easier to secure. Take for example ASP.NET, with that most of the time you will use an ORM which usually abstracts the security / database aspect away from the coding.
My opinion My personal preference when it comes to choosing a web development language is ASP.NET MVC for the follow reasons:
It is really testable/maintainable - TFD/TDD (Test Driven Development) It demands a good architecture - Once again TDD is a contributor to this as it makes you think about how to architecture the software Scalable - Like many other languages ASP.NET is very scalable Developers - There are a lot of ASP.NET developers out there (a lot of competition for hiring them too), however in my personal opinion, I find that ASP.NET developers have higher standards than your average PHP developer. Familiarity - I'm an 8am - 5 pm ASP.NET Webforms developer Security - It does a good job of giving you the necessary tools to make the application secure (a lot of security holes with php sites come from simple human error of forgetting to escape strings).
Could you PM me your skype so we can discuss this at some stage?
|
|
|
|
paybitcoin
Member
Offline
Activity: 85
Merit: 10
1h79nc
|
|
January 25, 2013, 07:57:09 AM |
|
My opinion My personal preference when it comes to choosing a web development language is ASP.NET MVC for the follow reasons:
It is really testable/maintainable - TFD/TDD (Test Driven Development) It demands a good architecture - Once again TDD is a contributor to this as it makes you think about how to architecture the software Scalable - Like many other languages ASP.NET is very scalable Developers - There are a lot of ASP.NET developers out there (a lot of competition for hiring them too), however in my personal opinion, I find that ASP.NET developers have higher standards than your average PHP developer. Familiarity - I'm an 8am - 5 pm ASP.NET Webforms developer Security - It does a good job of giving you the necessary tools to make the application secure (a lot of security holes with php sites come from simple human error of forgetting to escape strings).
Could you PM me your skype so we can discuss this at some stage?
ASP.NET is still used? WOW, I think glassuser with choose either python or php cause those are the most logical choices, there are a lot of bitcoin projects in both so the developers are there. Both can be secured quite easily if the developer knows what they are doing. Most host can support php right out of the gate. Honestly if we can all sit here all day and argue but at the end of the day php and python are just the best for web right now, today. From scalability to security. I'm going to have to side with gweedo as well... ASP.NET is horrible for scaling. Not technically, although the things POF.com have had to do to make it run well are pretty damning, but financially. A startup could really put to better use the $800 spent on each Windows Server license, not to mention the $2500+ for a MSSQL server (1 core!!!) license. Even their bizspark stuff has costs looming in the future. Also, for a Bitcoin web site you don't want to touch Azure for security reasons (at least not for the backend.) Personally, I see lots of .NET shops considering moving off of the framework in general since Microsoft is very sketchy on the roadmap with WinRT/Windows 8 and especially with the disconnect between ASP.NET and the web. MVC is a step in the right direction but I don't think it has enough traction to be viable long term. Also, if Microsoft ever pulls the plug, you get stuck... Python all the way!!! Edit: oh yeah, you should ping all the people that posted in this topic: Anyone looking for work? (Lol, none of them are .NET devs)
|
|
|
|
schalk
Newbie
Offline
Activity: 36
Merit: 0
|
|
January 25, 2013, 08:17:36 AM Last edit: January 25, 2013, 08:33:01 AM by schalk |
|
My opinion My personal preference when it comes to choosing a web development language is ASP.NET MVC for the follow reasons:
It is really testable/maintainable - TFD/TDD (Test Driven Development) It demands a good architecture - Once again TDD is a contributor to this as it makes you think about how to architecture the software Scalable - Like many other languages ASP.NET is very scalable Developers - There are a lot of ASP.NET developers out there (a lot of competition for hiring them too), however in my personal opinion, I find that ASP.NET developers have higher standards than your average PHP developer. Familiarity - I'm an 8am - 5 pm ASP.NET Webforms developer Security - It does a good job of giving you the necessary tools to make the application secure (a lot of security holes with php sites come from simple human error of forgetting to escape strings).
Could you PM me your skype so we can discuss this at some stage?
ASP.NET is still used? WOW, I think glassuser with choose either python or php cause those are the most logical choices, there are a lot of bitcoin projects in both so the developers are there. Both can be secured quite easily if the developer knows what they are doing. Most host can support php right out of the gate. Honestly if we can all sit here all day and argue but at the end of the day php and python are just the best for web right now, today. From scalability to security. I'm going to have to side with gweedo as well... ASP.NET is horrible for scaling. Not technically, although the things POF.com have had to do to make it run well are pretty damning, but financially. A startup could really put to better use the $800 spent on each Windows Server license, not to mention the $2500+ for a MSSQL server (1 core!!!) license. Even their bizspark stuff has costs looming in the future. Also, for a Bitcoin web site you don't want to touch Azure for security reasons (at least not for the backend.) Personally, I see lots of .NET shops considering moving off of the framework in general since Microsoft is very sketchy on the roadmap with WinRT/Windows 8 and especially with the disconnect between ASP.NET and the web. MVC is a step in the right direction but I don't think it has enough traction to be viable long term. Also, if Microsoft ever pulls the plug, you get stuck... Python all the way!!! Edit: oh yeah, you should ping all the people that posted in this topic: Anyone looking for work? (Lol, none of them are .NET devs) How is ASP.NET horrible at scaling? If you have a developer building an application in ASP.NET MVC with scalability in mind, it is extremely scalable. How is Azure insecure? Please enlighten me. Microsoft pulling the plug? The way things are going now, I highly doubt that. Also I'd like to point out, from my understanding ASP.NET MVC is open source - http://aspnetwebstack.codeplex.com/ASP.NET MVC has a lot of nice things, like easy bundling and minification of Javascript and CSS. Easy to use auto image optimisation like http://imageresizing.net/. But yes I do agree that there are more PHP developers around this scene and that for the most part ASP.NET is more expensive. How much experience have you had with ASP.NET and PHP? I'm a ASP.NET developer and working on a Ecommerce CMS on a daily basis with over 100 clients. Previously I was a PHP programmer and have programmed several plugins for forums systems (in particular vBulletin and IPB). I don't like it when people start making posts without actually being able to backup their claims. EDIT: Not to mention the absolutely sexiness of LINQ in ASP.NET
|
|
|
|
btchip
|
|
January 25, 2013, 10:11:51 AM |
|
My vote would go to Scala and Play 2 for security & scalability but hey, I'm not a web developer
|
|
|
|
BCB
CTG
VIP
Legendary
Offline
Activity: 1078
Merit: 1002
BCJ
|
|
January 25, 2013, 10:34:15 AM |
|
Big no to ruby and asp.net For a serious web facing business: Php Mysql Python
1. Open source 2. Proven 3. Scalable 4. Availability of developers Collocated on dedicated hardened secure servers and maintained by competent devs and sysadmins and you've got a robust and secure system.
Any one would shocked to know the true extent that the legacy financial system is hacked on all their proprietary commercial grade hardware and software.
So it's not necessarily the system / language that matters but the quality of the work of the individuals who implement your system
(And still your gonna get hacked if your system has any real value)
|
|
|
|
nebulus
|
|
January 25, 2013, 01:39:49 PM |
|
And thus, it turned into a language thread. So here are my choices: All the other tools mentioned also can do the job.
|
|
|
|
davout
Legendary
Offline
Activity: 1372
Merit: 1007
1davout
|
|
January 25, 2013, 03:12:57 PM |
|
Care to remind me which serious web facing business
you operate ? Rails is awesome, deal with it.
|
|
|
|
BCB
CTG
VIP
Legendary
Offline
Activity: 1078
Merit: 1002
BCJ
|
|
January 25, 2013, 03:57:13 PM Last edit: January 25, 2013, 04:10:37 PM by BCB |
|
Care to remind me which serious web facing business
you operate ? Rails is awesome, deal with it. I don't operate a serious web facing business. Actually most successful webshops start designing their custom code as they grow. facebook.com operated on php/js/mysql LAMP stack until it grew into the multi-million users mark. I believe their back end is now C++, Java, Python, and Erlang. Mt. Gox does pretty well on php/mysql There are dozens of other examples. I just don't know Rails. Here is someone's list of top 50 rails sites. http://goo.gl/ekrGASeems a little light on financial service site. But like I said, It not the language as much as it is the dev's knowledge of that language. So to each his own.
|
|
|
|
|