From owner-freebsd-questions@FreeBSD.ORG Mon Feb 6 23:47:31 2012 Return-Path: Delivered-To: questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2FD8D1065677 for ; Mon, 6 Feb 2012 23:47:31 +0000 (UTC) (envelope-from perrin@apotheon.com) Received: from oproxy8-pub.bluehost.com (oproxy8.bluehost.com [IPv6:2605:dc00:100:2::a8]) by mx1.freebsd.org (Postfix) with SMTP id E472D8FC1A for ; Mon, 6 Feb 2012 23:47:30 +0000 (UTC) Received: (qmail 15174 invoked by uid 0); 6 Feb 2012 23:47:30 -0000 Received: from unknown (HELO box543.bluehost.com) (74.220.219.143) by oproxy8.bluehost.com with SMTP; 6 Feb 2012 23:47:30 -0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=apotheon.com; s=default; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:To:From:Date; bh=h1LhMfesNXEB5RwjB20vk9P92rGco1iOZkRU7dXOIqM=; b=X3PEDO8HO0seNYWSQTABaiv+G9vpeYddKNWdks3WWw563cBrkkGTHbjHIVjZM7A3vOhJFCq35RXYv79m6NyREjwkAQKXu74tRqUEhVgB+4nLwAVew4ucwF2Ps93YHRyp; Received: from c-24-8-180-234.hsd1.co.comcast.net ([24.8.180.234] helo=localhost) by box543.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.76) (envelope-from ) id 1RuYHR-0003aV-OO; Mon, 06 Feb 2012 16:47:30 -0700 Date: Mon, 6 Feb 2012 16:47:28 -0700 From: Chad Perrin To: freebsd-questions@freebsd.org, FreeBSD Questions Message-ID: <20120206234728.GA11150@hemlock.hydra> Mail-Followup-To: freebsd-questions@freebsd.org, FreeBSD Questions References: <3411412722-917504491@intranet.com.mx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3411412722-917504491@intranet.com.mx> User-Agent: Mutt/1.5.21 (2010-09-15) X-Identified-User: {2737:box543.bluehost.com:apotheon:apotheon.com} {sentby:smtp auth 24.8.180.234 authed with perrin@apotheon.com} Cc: Subject: Re: Software Development using Freebsd. X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Feb 2012 23:47:31 -0000 On Mon, Feb 06, 2012 at 04:37:37PM -0600, Jorge Biquez wrote: > > I am helping a non profit organization and giving some classes to > prepare students so they can be prepared and try to get a job (they > are students also and have the basics concepts already) That's admirable. I hope that works out. > > Anyway, I am interested in teach them to develop some simple > applications. From simple ones to destktop ones that access a > database, desktop ones that use internet to connect to a remote > database and web based ones with a database behind. We have 6 months > and the idea is to work a lot remotely. Thin is that I do not want > to use any kind of Microsoft products. Some of them do not have > modern machines but until now, in previous classs, we could install > Freebsd, text mode, and work from there. > > Now we will try to have a graphical mode in Freebsd. With that we > would like to be able to develop graphical applications for Windows > (we all know that's the market and here some companies is what they > are looking), so maybe sound crazy but I am looking to develop > applications for Windows without using WIndows or Microsofot > products at least. What kind of experience do you want these students to have when they leave? Do you just want them practiced in doing some general programming with cross-platform tools, including database access and simple GUI work? Do you want them to specifically work with commodity tools that will fit in with mainstream job posting requirements on a resume? Do you want them to work with tools that will enable them to most easily expand their experience on their own once they get done with the course of instruction so they can more rapidly approach general competence and create useful projects of their own very quickly, figuring they can then move on to other tools and technologies as they decide which direction they want to take their professional pursuits? Do you just want it to be as easy as possible? Your top priority should probably help you make this decision. > > I have been looking for this for months. First case using Windows > but not Microsoft products. I found some options BUT they all were > expensive on the deployment. The "runtimes" were not free and the > amount of money to pay was not a good option. Others provide " real > free" excutables for runtimes but the products were expensive. I am > now trying to, If possible, have FreeBSD running graphically and > then use open source software to develop graphical windows > applications. > > Maybe I am wrong but until now I think my only option is to use > Phyton. Is that correct? For what I have searched Python will let me > create executables and will let me create Graphical solutions even > for other platforms (Mac or LInux or whatever runs Python). > > Talking with friend, he believes that my best bet is to teach them C > or C++ and use some of the options for developing graphically ( I am > not a C or C++ expert but I can learn alone). Depending on your goals, anything from Ruby to C could be an excellent choice. LLVM/Clang is a great compiler suite for C; the mainstream Ruby implementation will get you far; both can use platform-independent graphical toolkits and database access libraries. PostgreSQL is a great DBMS distributed under a copyfree license, and it is well supported for both these languages. They're sorta on opposite ends of a spectrum, though, so some kind of narrowing down of goals should be done before arriving at any conclusions. > > I was wondering if you could give some advie and comments on this. > > Are you developing commercial applications (including Windows ones) > using FreeBsd as your platform? Or Maybe any Linux Distribution? I've written C, C++, Ruby, Perl, and PHP on FreeBSD, for deployment in a wide range of platform circumstances. Some of my development has been commercial, some of it just for fun, some to solve my own personal problems. . . . There's nothing wrong with FreeBSD as a development platform for most purposes, especially if you want to work on portable software development. In fact, I think that for purposes of writing portable code, it's difficult to do worse than FreeBSD, because it's probably easier to move code from FreeBSD to Linux distributions, Apple MacOS, and MS Windows due to social factors involved than the other way around. > > Would you do that with Python or something else? I personally am not the world's biggest Python fan, but my choice would depend on the specific goals involved. If you're leaning toward the Python end of the spectrum, though, I (personally; your mileage may differ) would probably choose Ruby instead. -- Chad Perrin [ original content licensed OWL: http://owl.apotheon.org ]