Hi,
my name is Guillaume Collet, I'm a french bioinformatician interested in Pike. This message was just to introduce myself.
I write C/C++ for for 10 years and I found Pike's features really interesting. That's why I'm here.
Cheers,
Guillaume.
On Wed, Jul 23, 2014 at 6:30 AM, Guillaume Collet bilouweb@free.fr wrote:
my name is Guillaume Collet, I'm a french bioinformatician interested in Pike. This message was just to introduce myself.
I write C/C++ for for 10 years and I found Pike's features really interesting. That's why I'm here.
Welcome! I love Pike, it's a great language. Updating code on the fly is a huge feature for me. I'm right this moment talking to one of my users, and working through some bugs; he tells me of trouble, I dig into it and find out what the problem is, and then I just tell him to use the "Update Gypsum" menu item, and it downloads and applies the update... live, without disconnecting him or anything.
What sorts of programs are you looking at writing in Pike?
ChrisA
First, I need to install Pike... I didn't got it work. 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 ;)
Guillaume.
Le 22/07/2014 22:42, Chris Angelico a écrit :
On Wed, Jul 23, 2014 at 6:30 AM, Guillaume Collet bilouweb@free.fr wrote:
my name is Guillaume Collet, I'm a french bioinformatician interested in Pike. This message was just to introduce myself.
I write C/C++ for for 10 years and I found Pike's features really interesting. That's why I'm here.
Welcome! I love Pike, it's a great language. Updating code on the fly is a huge feature for me. I'm right this moment talking to one of my users, and working through some bugs; he tells me of trouble, I dig into it and find out what the problem is, and then I just tell him to use the "Update Gypsum" menu item, and it downloads and applies the update... live, without disconnecting him or anything.
What sorts of programs are you looking at writing in Pike?
ChrisA
On Wed, Jul 23, 2014 at 6:49 AM, Guillaume Collet bilouweb@free.fr 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
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 rosuav@gmail.com wrote:
On Wed, Jul 23, 2014 at 6:49 AM, Guillaume Collet bilouweb@free.fr 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
I suppose that performances will not be better. I want to see how I can transform my code in Pike to get something as efficient with a higher level language. I'm curious ;)
Thanks for the welcome.
Guillaume.
Le 22/07/2014 23:14, Danesh Daroui a écrit :
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 <rosuav@gmail.com mailto:rosuav@gmail.com> wrote:
On Wed, Jul 23, 2014 at 6:49 AM, Guillaume Collet <bilouweb@free.fr <mailto:bilouweb@free.fr>> 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
Excerpts from Danesh Daroui's message of 2014-07-22 23:14:48 +0200:
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.
but if pike helps you elsewhere you can always wrap your c-code in a CMOD (a pike module written in C) and call it from pike.
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.
btw, danesh, nice to see an article about pike published: http://www.drdobbs.com/open-source/pike-programming-language/240168647
(can you share how the process of getting an article published at dr.dobb's works?)_
i'd love to see more, maybe something more specialized, some tricks from Turbo for example, where you show off what exactly it is that makes pike a better choice than other languages.
greetings, martin.
Hi Martin,
Yeah it was actually time to talk more about Pike and let other programmers to know about it. I will publish more if I have time and will talk mostly about what we do and what I personally experienced as much as I can. So please stay tuned! :)
If you intend to publish anything in journals like Dr. Dobbs (Dr. Dobbs is actually one of the highest credited computer journals from 70s) first you need to contact the editor and let him know about your idea and preferably send a short draft of your paper. If he thinks that your idea can be a good contribution for the journal, then he will let you know and possibly send you suggestions and guidelines. It is always a good idea to avoid talking about a commercial product in detail which is known as sales pitch and also have a contact with authorized people before talking about a subject that can be confidential.
If you already have an idea, so go ahead and contact Dr. Dobbs editor. His name is Andrew Binstock and his email address is andrew.binstock@ubm.com. He is a very nice guy!
Good luck,
Danesh
On Wed, Jul 23, 2014 at 2:44 AM, Martin Bähr < mbaehr@email.archlab.tuwien.ac.at> wrote:
Excerpts from Danesh Daroui's message of 2014-07-22 23:14:48 +0200:
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.
but if pike helps you elsewhere you can always wrap your c-code in a CMOD (a pike module written in C) and call it from pike.
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.
btw, danesh, nice to see an article about pike published: http://www.drdobbs.com/open-source/pike-programming-language/240168647
(can you share how the process of getting an article published at dr.dobb's works?)_
i'd love to see more, maybe something more specialized, some tricks from Turbo for example, where you show off what exactly it is that makes pike a better choice than other languages.
greetings, martin.
-- eKita - the online platform for your entire academic life -- chief engineer eKita.co pike programmer pike.lysator.liu.se caudium.net societyserver.org BLUG secretary beijinglug.org foresight developer foresightlinux.org realss.com unix sysadmin Martin Bähr working in china http://societyserver.org/mbaehr/
pike-devel@lists.lysator.liu.se