Wish you best luck! As Chris pointed out, when it comes to performance, you
might not gain a lot if you migrate from C to Pike. However, extra tests
never hurt. In your case, if you intend to write code for numerical
simulations i.e. Monte Carlo technique, or Algebraic operation using LAPACK
for example, then C might offer more mature solutions. Pike (again as Chris
mentioned) is excellent for text processing. It also offers garbage
collector as well as strict type casting (similar to Ada) which would
prevent faulty code and over/underflow errors.


On Tue, Jul 22, 2014 at 11:05 PM, Chris Angelico <[email protected]> wrote:

> On Wed, Jul 23, 2014 at 6:49 AM, Guillaume Collet <[email protected]>
> wrote:
> > First, I need to install Pike... I didn't got it work.
>
> What platform?
>
> There's been a new 7.8 release made, but currently there's no Windows
> installer for it. You can still use 7.8.700 on Windows:
> http://pike.lysator.liu.se/pub/pike/all/7.8.700/Pike-v7.8.700.msi
>
> On Linux, I like to build my own Pike from source. (This is partly
> because I have a few patches which haven't yet been accepted into the
> core - preventing some obscure segfaults in GTK2, mainly.) You can get
> Pike from several distros' repositories, or you can fetch the source
> and build, whichever you're more comfortable with.
>
> On a Mac, I'm not sure what's best to use. I have an unofficial build
> that includes GTK, or you can use the prebuilt 7.8.700, or you can
> build from source as with Linux.
>
> http://pike.lysator.liu.se/download/pub/pike/all/7.8.700/
>
> > But after that, I will try to write some bioinformatic codes of my own,
> > currently in C++
> > I want to see if I can get better performances with Pike.
> >
> > But the web server side is also interesting... in fact, I think I will
> try a
> > little bit of many things ;)
>
> Cool!
>
> You probably won't get better performance with Pike than with C++, but
> you may well get something comparable. Pike's more similar to Python
> than to C/C++; it's a high level language, designed to be easy to
> write reliable code in. It might well not run faster, but it'll be a
> LOT faster to get something that won't crash - for one thing, Pike
> takes care of memory management. You can simply work with strings,
> instead of allocating buffers and making sure you have enough room.
> And strings store Unicode, not just bytes; important in today's
> international world. Integers store arbitrary precision, so you'll
> never have to worry about wraparound. Arrays are real things that can
> be passed around; so are mappings, which are like std::unordered_map
> (I think; I never used unordered_map much), and multisets. Functions
> are first-class objects too, which is HUGELY helpful.
>
> Here's a handy reference for the object model Pike uses. It's written
> about Python, but the two follow the same structure.
>
> http://nedbatchelder.com/text/names.html
>
> It's cheap and fast to pass objects around, nothing gets copied unless
> you ask for it.
>
> ChrisA
>

Reply via email to