Hello,
I think you are asking several questions at once. Now I cannot comment on the performance differences between perl C/C# because I'm a long time Perl user. Never bothered about C/C# because the proverb "The fastest route to you goal, is the route you're known"
Is perl suitable for data cleansing?
Perl is perfect for pattern matching and extracting data from one source and writing it to another. So if your cleansing consist out of extracting data from a file and rework it, while knowing where/what to look for, you'll be fine with perl. Never had a situation where I couldn't find a perl module that would give me access to a certain data source (excel, xml, txt, csv, databases, ....). From there it is simply a matter of coding and learning pattern matching. The pattern matching skills are never wasted because all languages have almost similar concepts.
The power of perl for this kind of tasks lays in the fact that perl can be used from very simple scripts till quite complex scripts without you forcing to program in a certain paradigm. It seems cliché, but believe me, this is a real advantage.
Perl is not the perfect choice if you are combining many different data sources on a more continuous basis to construct one record from many records. An ETL tool is the way to go for that (for example Pentaho is a nice solution that provides an free version). The programming effort to access different data sources and combine the records is to big. But that is the same for other languages. However pattern matching is often weak in those tools. If found myself often using an ETL tool and perl in 2 or 3 steps.
Perl is neither very strong in doing fuzzy matching problems aka "Does this looks similar with certain confidence level?". This kind of questions are difficult to answer and perl doesn't have much in the toolbox for this kind of questions.
I eventually want to learn objective C
Sorry, different goal, different answer. If you want to combine learning objective C and datacleansing, objective C is the way to go.
Kind regards
Martell
| [reply] |
perl_user_52:
I use C, C++, C# and perl regularly. For the things you're talking about, I reach for perl first. It's great for cleaning data, it's easy to hook to databases, and it's the best language (IMO) for knocking together things quickly.
As far as writing apps for the iPhone, I don't have one, so I have no opinion on that.
...roboticus
When your only tool is a hammer, all problems look like your thumb.
| [reply] |
Downvoted, not for content (even though it is made longer by discursive asides), but for failure to read the directions (aka RTFM) which accompany the text-input box:
Posts are HTML formatted. Put <p> </p> tags around your paragraphs.
Worse, the preview page, which, as a new user you were required to visit, adds, above the text input box, this:
If something looked unlike you expected it to you might need to check out Writeup Formatting Tips
Alternately, you can solve your problem with "\n" by reading Markup in the Monastery.
Your "wall of text" is almost as unreadable as a wall of code.
| [reply] |
In my 30+ years in this business, I consider programming languages to be tools, and I’m always interested in finding a new one that approaches some useful set of problems in some new and useful way. It’s very important what your professional tool-box will contain, and it will never consist of only one tool. But I daresay that you will find, as so many others have already found, that Perl will become “a well-worn tool, picked-up again and again and again.” I myself was a latecomer to Perl, and I regret that. It’s not the only tool that I use, but Perl has certainly become a hands-down favorite for tasks big and small. (Especially those “small” tasks that become big.)
The reason is that Perl is a practical, pragmatic language that was born from a well-felt need to do a time-consuming task better than any other tools could do at the time. It is also well-supported by the CPAN library (http://search.cpan.org) which, at this particular moment in time, has “67,491 Uploads; 22,520 Distributions; 92,835 Modules; contributed by 8,929 Uploaders” (including a great many people that you will find on a very regular basis right here). This is an extremely impressive set of tools indeed, all of them well-tested and free, and generally cross-platform so that you can move from one type of hardware to something altogether different, and still be able to use the same tool in the same way. (In the words of the credit-card commercials, “Priceless.™”)
In short: invest the time to become familiar with this language, and with this web-site. Your effort will be promptly and richly rewarded. There is indeed “a practical, pragmatic reason” for “what all the fuss has been about, for such a very long time now.”
P.S.: As for what will be the tool(s) that are ultimately used in the pad-computing space, I believe that it is really a bit too early to tell yet. This is just the most-recent game changer to surface, and at this point developers are being invited to write platform-specific applications in platform-specific tools (e.g. Objective-C). I know from experience that this won’t be the way that the game ends, because what developers ultimately need is cross-platform capability. But it is not yet clear to me which tool(s) will dominate. What I do know, however, is that “one size does not fit all,” and that it can be a mistake either in the short run or the long run to try to “wedge” a tool into a particular hole. There will always be many tools in your box, and the ability to work fluently with many tools is always going to be a skill that is prized. If you find yourself waiting on the sidelines wondering “which one will win,” you might be Waiting for Godot. Keep your head up and your eyes wide open, and always make it a point to at least sample whatever’s on the new dishes as they pass by. You might not care to eat them, but at least know what they taste like.
| |