5 ms·
Ask HN: I've Got a Project, You Tell Me The Language
So this summer I want to begin development work on a new web project, but I am having trouble deciding on a language to implement my ideas. Maybe it doesn't matter, I don't know. I thought I'd tell you what I want to do, what I'm good at, and YOU tell me how my time will be best spent.
Project Idea: Create a web-based recruiting tool for our graduate department to keep track of interested/prospective students.
What I'm really good at: Matlab!
What I'm ok at: PHP, C#/.Net (And I love visual web developer!)
What I'm not good at, but interested in learning: Python
I currently have shared hosting (LAMP), but I wouldn't be opposed to buying another plan for C#/.Net if that would be the best way.
Any ideas?
- mahmud 17y agoPHP. You don't even need to know it to whip out something in php. The application domain is pretty much all that PHP is good at, boring websites, and since it's an intranet application you don't have to sweat the security. It shouldn't take more than a week to do, leaving you plenty of time left in the summer to learn a real language, like Python. And finally, should you ever get bored with it, you can always find someone to finish it. When in doubt and apathetic, copy and paste php code.
- physcab 17y agoI want to love PHP. I really do. It seems like everyone and their mom uses it, and thats why I tried to pick it up before. The problem for me has been an easy way of coding it. I mentioned Visual Web Developer in my OP. I'm not lying. I absolutely love the intelli-sense, the tab-finish, the debugging, the easy UI. Is there something I could use that does the same thing with PHP?
- andrew_k 17y agoTry Django. Documentation on their site should be enough for you to get going. Also there a plenty of reusable django applications available on the internet, like djago-registration, django-comment-utils, which will allow you to create a website with a lot of bells and whistles in a day or so.
- jhickner 17y ago+1 for Django. Here's a list of a bunch of the pre-built apps: http://djangoplugables.com/projects/ http://djangoplugables.com/projects/
- physcab 17y agoThanks for the tip. As per my comment below, is there an IDE similar to Visual Web Developer? This is what I'm most comfortable with and enjoy using.
- iuguy 17y agoTry http://www.wingware.com/doc/howtos/django http://www.wingware.com/doc/howtos/django
- scumola 17y agoStick with LAMP - PHP, Mysql, Linux - you've got the tools. Don't fall for the Ruby/Erlang/Lisp croud. Don't struggle with the language. Get it done and worry about the details, not the language.
- scorpioxy 17y agoWhat I think would help is picking a web framework. That would pretty much guide you towards a language and eliminate a choice. Look around at the popular available frameworks and choose the one that appeals most to you.
- plinkplonk 17y agoIt depends on how much you want to learn a new language. If you just want to get the job done, use what you know already. If you want the to leverage the project to learn new things, pick a new language (or a new OS, or editor or version control system).
- sgrove 17y agoThis is really the crux of the argument: What do you want to have when you finish? If you just want the completed application ASAP? Go with what you know, and don't waste time on learning anything new. Want a completed and familiarity with a new language + framework, at the cost of delayed launch? Go with the new language. The application you've described is simple enough to be done with any framework + language fairly quickly, so no worries there. Just weigh your motivations and get to work! On a side note: I'd go for rails (ruby), then django (python), then symfony (PHP) by personal choice. The generators for all of these languages will save quite some time, likely.
- physcab 17y agoI love learning new languages. I'm trying to pick up (on average) one per a year. The problem is that I become knowledgeable about a bunch of languages but not really an expert in any of them! Granted, I know there are some underlying similarities between all languages. I want to get the job done quickly, but I'm not opposed to spending a number of months working on it. I just want the application to run really well and be easy to maintain and grow. I just keep vacillating between that crux that you mentioned. I kinda wish there was an easy way to create a web application with Matlab, since its easy and powerful (and I know it pretty well). But I also keep getting pulled back into the "well, maybe I should pick up a more 'popular' language because that's what seems most web apps are constructed with these days"
- brentr 17y agoI have also become familiar with several languages (C, C++, C#, Java, PHP, Python, and Ruby), but when I wanted to start a big project, I realized that I only knew the basics of the language (i.e., synatx). I had no real exposure to the vast libraries available. Once I realized this, and that was only within the past month, I decided to focus just on C and C++. This decision was driven by the fact that I am starting an MSFE program this fall and all I have read about quant work says that I should be well versed in C++. The reason I have also chosen C is because the project I am spending this summer working on is building the statistics and probability portion of a quantitative finance library. I am using two libraries as a reference (Quantlib and GSL) and one is written in C++ and the other in C. Like it has been said, I think it might be a good idea to focus on what you already know and work on improving the skills in that language.
- butterfi 17y agocheck out http://drupal.org http://drupal.org
- physcab 17y agoThanks for the tip. I've tried Drupal before with another site. It's pretty slick, but it has a ton of stuff under-the-hood which I don't think I would need. As a result, my site ran ridiculously slow.
- vivekamn 17y agoRUBY/RAILS. As productive as Django. More books, good community and so on.
- sker 17y agoI'm gonna recommend .NET here, mainly because that's what I use and like, but my top reason would be flexibility. You don't have to use only one language, use many. If you already know C# you can start with that. If you get tired of it you can pick up F# to write algorithms and calculations. Want to learn Python? Get IronPython and use it to write Unit Tests or a rich interface with Silverlight. You name it, everything under the same platform. If there isn't a requirement that prevents you from using .NET, I don't see a reason not to use it.
- physcab 17y agoThere's not, aside from the general misgiving I have about the black-box nature of .Net stuff. Sometimes I feel like I'm not really hacking. :)
- csomar 17y agoif you happen to choose the Microsoft way, you'll have Visual Web Developer (and it's very Advanced) and ASP.net MVC (powerful for AJAX Application). Also you can integrate with it, Microsoft Expression to design your site when working with VWD!! You'll have also MS SQL Server which is very powerful and customizable. (and a big set of tools you can use). Drawbacks: The tools are very expensive (VWD pro to Expression to SQL will cost), the Windows hosting is also very expensive. If you have sufficient money then it's the best choice, look at the performance of stackoverflow.com another drawback is there's a little "veryyy little" Open Source code (try codeplex.com) but still enough to make your own
- physcab 17y agoYes, your right. I've got enough experience with C#/.Net to really really appreciate VWD. But alas, cost. Also, porting Matlab scripts to .Net works quite well. If I can find something like VWD but for something like PHP instead, then I'd be sold.
- csomar 17y agoVWD and SQL (Express) are free, you can start with them, I'm starting with them. Go step by step (slowly), also there's a lot of work for asp.net developers (.net in general) the market is very demanding
- psyklic 17y agoYou can do a lot more than "start" with them -- they are full-featured products and (at least for Visual Studio) there are no restrictions on use for commercial products. EDIT: Perhaps the largest cost would be once your product is finished. Your university (or host) would have to purchase Microsoft products for the web server.
- deleted 17y ago[deleted]
- csomar 17y ago
- mlLK 17y agoYou mean like this? http://corsair.cs.iupui.edu:20181/prospect.php http://corsair.cs.iupui.edu:20181/prospect.php I wrote this last semester, nothing fancy, but it does what the assignment required, which is very similar to what I think you're trying to do.
- helium 17y agoMaybe you could try IronPython. You can use it with the ASP.net MVC framework. Then later on if you decide to rather go with Django you already know Python.
- brendano 17y agopython is better for future work with matlab-related stuff like data preprocessing; or its matlab competitor library (scipy).
- gaius 17y agoHaskell. Why not go the whole hog?
- utsmokingaces 17y agoIf you already know PHP then go with Codeigniter MVC framework. It runs fast, very straightfoward, and the documentation is superb.
- minalecs 17y agowhat every language you can be most productive in to get it done. If it time frame doesn't matter, any language that interests you.