Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
We do not get many projects in Ruby. We are focused only on PHP so far. As a web development agency, are we missing an important channel of revenue due to our unopened nature with Ruby and Ruby on Rails?
If we start doing some local projects in Ruby, is it possible to open another revenue channel? Is it wise to ask PHP developers to learn Ruby too?
With our expertise in search, we can promote Ruby and reach people who do Ruby projects, but are they a big crowd?
I would say it depends entirely on your customer base. If you are building website for companies that like to dictate the technology stack, then yeah, you could probably open up another revenue channel by offering ruby development.
However, I believe that most of the time customers don't care too much about what technology you use - they just want the job done on time and under budget. In these cases offering Ruby probably won't do much for you other than widen your horizons/options (which I believe is a good thing, but not necessarily tied to revenue).
At this point, I think that Ruby on Rails is bigger with people that are building things themselves than it is with people that are paying other people to build things. That may change over time.
Do you feel like you are being hired now because of your PHP skills or on your general reputation as a web dev agency? Most customers probably do not care.
Use what makes you most productive. In your shoes, I would certainly be giving RoR a good look as I like it better myself. If you find that RoR makes your job easier then use it. If not, maybe do not bother. There are many Rails inspired MVC frameworks for PHP though which you could look at as well.
There is certainly more buzz around Ruby on Rails these days so it may make you look more plugged in sometimes.
I do not see a problem with expecting devs to learn it. Your better devs would probably love the opportunity. With the world going Agile though, it probably makes sense to let the devs choose the technology unless there is a market-driven reason to change.
Ruby on Rails and PHP are both capable of doing the same kind of things. Some people just find it easier or more pleasant with RoR. Unless you find you're losing gigs specifically because you want Rails, I wouldn't worry about it as a "channel of revenue" — it seems unlikely to me, since most non-developers don't have any idea what "the PHP" is anyway.
It is probably worth checking out just to see what your options are. You might find it works out well for you. But the benefits will generally be on the development side of things.
Focus is good and diversity is good. It is sort of a "how long is a piece of string".
PHP is a strong maturing language, widely used, supported, and easy to learn. Ruby on the other hand is quite different, it involves a lot more command line calls.
Ruby is highly praised and there is quite a good solution. It is a lot quicker to make applications.
CodeIgniter / Zend are PHP frameworks which might be worth looking at.
Can you afford to train people in a new language?
Dale
cakePHP might be a good fit for your team.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
For the past months I've been getting into Web Development, I tried both sides of the coin: ASP.NET and PHP, I quickly fell in love with the second, the documentation and the community was just very helpful.
I started out by reading PHP for Absolute Beginners, this gave me a decent grasp over the language.
Enter frameworks! After going around the web, it became clear that there was one framework that really suited beginners: Codeigniter. I absolutely love CI, through out my programming experience in college I've always relied on good books. CI didn't need a book. The documentation is so well written anyone with a little bit of PHP experience can get into it.
Learning CI led me to development websites (such as Stackoverflow) and I started reading things that kinda make me sad, "CI doesn't scale on big projects", "CI isn't even a framework", "CI is for newbies, get pro like me bro".
Ok, so maybe CI shouldn't be used for huge projects - at least that's what I got from the overall community. But I'm wondering here, where should I go from now? I feel like I should get some experience in at least a few MVC frameworks, but it's kinda confusing on where to go at this point, today Zend is best, tomorrow Symfony is, but damm, that Yii s looking good too! All of these frameworks are getting updated to 2.0 and the documentation is scarce, there's not many books going around (if any), the respective websites have a lot of information, but for someone coming from CI, it all just feels very intimidating to start out. Starting projects with Windows CMD? PHP accelerators?
I'm guess what I'm trying to ask here is, how do you professionals see the PHP framework world these days? Which Framework would you recommend? Should I hop into this 2.0 bubble or are these versions not stable yet? And if possible, could you point me in a general direction when it comes to documentation?
Thank you for your time.
A framework is merely a tool to achieve a purpose. For you, to get a grip on the language try continuing with CI. The things you will learn - the concepts - will translate to other frameworks, even if their implementation is slightly differnt.
I personally favour Yii, but I have dug up symfony, zend and CI as well as few others in the past. One is not better than the other for most apps; look into differnt things, see what you like and roll with it.
What framework isn't really the question. What you should be doing, IMO is, try to 'learn to learn' rather than just 'learn'.
What I mean is, you should try to learn php well rather than a specific framework X.
That way, when time comes, and you have to build a scalable[scalable isn't even on my browser's dictionary yet!] system, you can figure your way through, with the experience you would have accumulated. This is what I believe Steve Jobs refers to as connecting the dots in a famous speech.
I've used many frameworks in the past. I used CI to start and then moved over to Yii as I gained experience. Frameworks may provide the project with tools that you don't have to write yourself, saving time. However there may be performance issues. CI is great and I haven't had too much trouble with it. You can slim it down and remove functions that you are not using. With CI I have created full Web APIs with them with no problems.
I guess what I am trying to say is that it may be your preference or client preference on which framework to use.
Firstly, there web development isn’t a coin, and there’s more than two sides. There’s a plethora of web development languages: PHP, .NET, Python, Ruby and so on.
Secondly, I don’t think you should be looking at frameworks if you’re new to web development/PHP. Learn the language first. Frameworks instil framework-specific conventions only; so when it comes to working with another framework or even vanilla PHP, you’re going to be at a loss. A knowledge of PHP assists in choosing the right framework for the job. Investing in one framework this early will only make you reliant and dependant on that framework.
I speak of this from experience. I once worked for an agency that was hiring PHP developers. During the interview process, we got applicants that claimed to be PHP developers will knowledge in frameworks such as CodeIgniter. When given a simple programming task (take an all-uppercase phrase and make it title case) the majority failed. Why? Because they had built everything in frameworks and not learned PHP itself. So when they were put in a situation where their framework of choice wasn’t available, they stumbled.
Don’t make this mistake. Frameworks are good, but only when you know what you’re doing and definitely not as a language learning tool.
This question already has an answer here:
PHP vs NodeJS - text based RPG [closed]
(1 answer)
Closed 6 years ago.
I'm a student and I'm planning to do freelance web app development to pay for tuition fees and all. I haven't had much experience in this field though I know how to code in PHP.
Today, I read a bit about Node.js and how amazing it is in dealing concurrent tasks and stuff. It looks pretty neat. Should I dig deeper into it and start using it in freelance projects?
OR, am I completely wrong in my understanding of the web app development(judging from my above query)?
Everybody thinks their latest hip technology is awesome. Maybe node.js is, maybe it is not. But your clients will be more happy if you use technologies that are more mature.
If your goal is simply to play around with node.js, then you should do so with your own personal projects before unleashing it on paying customers.
The thing to remember is that technology is rarely the reason for success or failure for web projects. PHP, Rails, Python, ASP, whatever... It's your skills and understanding as a programmer / analyst that make all the difference.
Because this is subjective, I'll pretend you asked "Is PHP sufficient to power my potential future projects?"
The answer is: It most certainly is.
I'd definitely suggest learning more about it and messing around with it. It's always good to have another tool under your belt.
But would i suggest using it in your projects? If your application can really benefit from using it then yeah, you should totally be using it. But it all depends if that's the right tool for the job (you wouldn't use a screwdriver to hammer a nail).
Dig into it.
But still use PHP for most of your small website projects.
It's easier to deploy, every webhost supports it.
With Node.js you'd need to deploy on a vps or one of the Node.js PaaS betas, which makes it difficult to hand off to most potential clients.
I just want to test the waters here. Do you think it would be worth it for a massive-scale social network to be built with Python? Given that Python web development is still fairly experimental at such a large scale, do you think, objectively, that its purported advantages over PHP (high-performance object-oriented execution) would be worth the effort of reinventing a few (or will it be many?) wheels? Using either no framework or a framework like Pyramid (formerly Pylons), not Django.
Given that Python web development is still fairly experimental at such a large scale
This is demonstrably false. TwoThree cases in point: reddit, Disqus, YouTube.
When you hit “massive scale”, you're going to have problems no matter what language/framework/tools you use (although some will certainly make those problems easier to solve).
The more important question is will you be able to get to the point where scale matters?
And that's not a question I, nor anyone else, can answer for certain (although history suggests that the answer is probably “no”)… But, given that any sensible language will scale pretty well, I'd submit that you're more likely to succeed if you're working with a language and toolkit you're already familiar with. So, if you know PHP, use PHP. If you know Python, use Python.
I am developing a social networking website in the facebook/foursquare-ish space. I have gotten such varied feedback on what platform I should develop in. Of course it will be heavily influenced by who I hire, but i was hoping for a little additional feedback from the larger community. Thanks.
It doesn't matter.
StackOverflow was written in ASP .NET MVC and it's awesome.
Twitter was written in Rails and it's super popular.
Facebook was written in PHP and half a billion people use it.
It's not the technology, it's the community. That's the hard part.
Just pick one and go. Your best bet might actually be to find the technology that the most smart people are using while still working for the least amount of money.
Write in assembler if you're comfortable with that. :)
Some questions you should ask yourself:
Are there hosting restrictions? No point in coding ASP.net when you have a PHP-only host/server.
Are there technical restrictions? E.g. if you want to use SQL Server as a back-end, going with ASP.net may make your life easier.
What other requirements do you have? Does it have to run on the JVM? Do you want to compile stuff all the time or do you want an interpreted language? etc. etc.
What experience do you have? If you're already familiar with Python, why switch to Ruby?
My best tip is: use what's best for the job at hand according to the above questions. For me, I'd use Ruby on Rails for the project you described. Rails offers all the tools I need for a large project like that.
Please let us know when and what you've decided :)
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I'm planning on moving to Python and I have a couple of additional questions along with the title:
did you have more fun with python?
are you as productive as when you're using PHP?
what made you change to python?
Would you do a project again in PHP? If so, why?
Your answers would really be useful for us PHP devs wanting something more I guess :)
Thanks in advance!
I was a PHP dev for about 5 years before switching to Python almost exclusively a year ago. The experience has been a mostly positive one; I'll answer your questions but also list a few gotchas I ran into.
Definitely. I continually find surprisingly powerful features/expressions in Python that do a great deal in a small amount of code (yet still being more readable than Perl).
Far more productive. It might just be my style, but Python's functional programming tools, generator expressions, list comprehensions, etc. allow me to accomplish tasks correctly with less code and less time invested than PHP.
I had an analytics project that needed a powerful stats package, so I went with Python+numpy. Then I found Turbogears and loved the syntax. Eventually I discovered coroutines and cooperative multitasking, and there's no going back. I use bottle, gevent, and gunicorn to crank out lean, fast, scalable web apps in record time.
Not if I could help it. PHP's verbose "everything is a long-named function call" syntax is just hard on my eyes at this point. I find it tedious to optimize as well (every page load reinterprets the source code in a default configuration).
Here are a few of the gotchas to be aware of:
For cheap, low-traffic sites, it's much harder to find a web host with a good python environment.
Apache isn't really a typical setup for Python in my experience. Python webapps are usually daemons that are exposed to the public with a reverse proxy webserver in front (nginx is very common). A number of corporate environments balk at new-fangled technology like nginx. It also takes some adjustment to think about your webapps as daemons, and it can take some effort at first to get your daemonizing correct and consistent.
If you use mysql, you will have some pain switching for a while. There just isn't a Python mysql library that is highly compatible with PHP-style mysql queries. For example, most of them don't use the simple "?" syntax for parameterized queries, so you can't just paste your queries over (you have to use printf-style "%s", etc.). Also, just the fact that you actually have to choose and install a mysql library is an extra step over PHP. This no longer bothers me, since I don't use mysql anymore anyway.
This is a broad topic with much, much more to say, but I hope this was helpful.
I'll try my best to answer your questions as best I can:
Did you have more fun with python?
I really enjoy how minimalist python is, having modules with non-redundant naming conventions is really nice. I found this to be especially convenient when reading/debugging other peoples code.
I also love all of the python tricks to do some very elegant things in a single line of code such as list comprehensions and the itertools library.
I tend to develop my applications using mod_wsgi and it took some time to wrap my head around writing thread-safe web applications, but it was really worth it.
I also find unicode to be much less frustrating with python especially with python 3k.
are you as productive as when you're using PHP?
For simple websites python can be less fun to setup and use. One nice feature of PHP that I miss with python is mixing PHP and HTML in the same file. Python has a lot of nice template languages that make this easy as well, but they have to be installed.
what made you change to python?
I became frustrated with a lot of the little nuances of PHP such as strange integer and string conversions and so forth. I also started to feel that PHP was getting very bloated with a lot of methods with inconsistent naming schemes. I was referring to the PHP documentation quite frequently despite having a large portion of the php library memorized.
Would you do a project again in PHP? If so, why?
I would develop a PHP project again, it has a lot of nice features and a great community. Plus I have a lot of experience with PHP. I'd prefer to use python, but if the client wants PHP I'm not going to force something they don't want.
Well, I started with PHP, and have delved into Python recently. I wouldn't say that I've "moved to", but I do use both (still PHP more, but a fair bit of Python as well).
I wouldn't say that I have more "fun" with Python. There are a lot of really cool and easy things that I really wish I could take to PHP. So I guess it could be considered "fun". But I still enjoy PHP, so...
I'm more productive with PHP. I know PHP inside and out. I know most of the little nuances involved in writing effective PHP code. I don't know Python that well (I've maybe written 5k lines of Python)... I know enough to do what I need to, but not nearly as in-depth as PHP.
I wanted to try something new. I never liked Python, but then one day I decided to learn the basics, and that changed my views on it. Now I really like some parts (and can see how it influences what PHP I write)...
I am still doing PHP projects. It's my best language. And IMHO it's better than Python at some web tasks (like high traffic sites). PHP has a built in multi-threaded FastCGI listener. Python you need to find one (there are a bunch out there). But in my benchmarks, Python was never able to get anywhere near as as fast as PHP with FastCGI (The best Py performed it was 25% slower than PHP. The worst was several hundered times, depending on the FCGI library). But that's based on my experience (which admittedly isn't much). I know PHP, so I feel more comfortable committing a large site to it than I would PY...
I run a self-developed private social site for 100+ users. Python was absolutely fantastic for making and running this.
did you have more fun with python?
Most definitely.
are you as productive as when you're using PHP?
Mostly yes. Python coding style, at least for me is so much quicker and easier. But python does sometimes lack in included libraries and documentation over PHP. (But PHP seems second to none in that reguard). Also requires a tad more to get running under apache.
what made you change to python?
Easier to manage code, and quicker development (A good IDE helps there, I use WingIDE for python), as well as improving my python skills for when I switch to non-web based projects.
Would you do a project again in PHP? If so, why?
Perhaps if I were working on a large scale professional project. PHP is so ubiquitous on the web A company would have a much easier time finding a replacement PHP programmer.
Last year I switched job to get away from PHP and work in Python. I'm very much satisfied with the decision I made :)
To answer the individual questions:
did you have more fun with python?
Yes!
are you as productive as when you're using PHP?
More productive I'd say. But the overall increased experience in programming also had something to with that.
what made you change to python?
You are not expected to be a jack of all trades in non-PHP jobs. (Photoshop/Web Design/Flash is required for many PHP jobs, and I hate Flash). And I liked Python/Django a lot.
4. Would you do a project again in PHP? If so, why?
If it's small stuff that's better done without any framework, then yes.
I've never really worked with PHP (nothing major) and come from the .NET world. The project I am currently on requires a lot of Python work and I must say I love it. Very easy and "cool" language, ie. FUN!
.NET will always be my wife but Python is my mistress ;)
yes
yes
curiosity, search for better languages, etc. (actually, I learned them somewhat in parallel many years ago)
yes, if a project requires it explicitly
disclaimer: I never really moved from php.
did you have more fun with python?
Yes. Lot more.
are you as productive as when you're using PHP?
No. I think more.
what made you change to python?
Django.
Would you do a project again in PHP? If so, why?
Only if it is required.