Need advice about which tool to choose?Ask the StackShare community!
Objective-C vs Perl: What are the differences?
What is Objective-C? The primary programming language you use when writing software for OS X and iOS. Objective-C is a superset of the C programming language and provides object-oriented capabilities and a dynamic runtime. Objective-C inherits the syntax, primitive types, and flow control statements of C and adds syntax for defining classes and methods. It also adds language-level support for object graph management and object literals while providing dynamic typing and binding, deferring many responsibilities until runtime.
What is Perl? Highly capable, feature-rich programming language with over 26 years of development. Perl is a general-purpose programming language originally developed for text manipulation and now used for a wide range of tasks including system administration, web development, network programming, GUI development, and more.
Objective-C and Perl can be categorized as "Languages" tools.
"Ios", "Xcode" and "Backed by apple" are the key factors why developers consider Objective-C; whereas "Lots of libraries", "Open source" and "Text processing" are the primary reasons why Perl is favored.
Perl is an open source tool with 435 GitHub stars and 152 GitHub forks. Here's a link to Perl's open source repository on GitHub.
Uber Technologies, Instagram, and Pinterest are some of the popular companies that use Objective-C, whereas Perl is used by Tilt, DuckDuckGo, and Twilio SendGrid. Objective-C has a broader approval, being mentioned in 851 company stacks & 363 developers stacks; compared to Perl, which is listed in 133 company stacks and 64 developer stacks.
I intend to use a programming language which I'll use as AWS runtime and write a script that will comb through tons of files in a directory and its subdirectories and search for simple text regular expressions and process and write the matches in a file as output. I have heard that Perl is good for regex based search but I also want the performance to be good as it will have to go through tons of files for IO. In this post: https://filia-aleks.medium.com/aws-lambda-battle-2021-performance-comparison-for-all-languages-c1b441005fd1, I see that Rust works well as AWS Lambda runtime with very good performance. Which one should I choose as my AWS lambda runtime for this problem? Golang is also an option as it is fast as per the above link.
I used to work in a Perl shop and must admit that the language is very simple for tasks like these, but as you mentioned it's not fast at execution time. I'm now a Go programmer professionally but I taught myself the language while in college purely out of interest and eventually found my way to the job, not the other way around. I've recently been learning a little rust because of how much that language comes up in conversations around Go. I find the concept of the borrow checker nice but I have to admit I feel lost like I am in most flavors of new fancy framework js. That's not to say Rust is really anything like js, but the learning appears the same to me as someone who's convinced they could learn just about any programming language if it was necessary (over time I've seen procedural, OOP, declarative and functional stuff but never programming logic outside of the prolog code I wrote in school).
Go isn't made for your specific task at hand but it's a very easy language to pick up and it has good directory traversal standard library code and good regex (even though with time perl's has been optimized to be faster and I think it's written in C++) but more than anything Go is "cloud native" programming in that an awful lot of new microservice tech stacks are centered around it, docker and kubernetes are written in it, and there's a thriving community whose focus is generally web-first and performance-oriented. This means for your use case there might already be a large cohort of gophers that have asked the stackoverflow questions for you
I personally would push you towards the NYT Profiler for Perl before I would towards Rest, but that's because I know you wouldn't waste any time being able to get to the task at hand and then make it go faster, and I expect all but a few rustaceans would be able to do so with the same speed.
Whatever you pick I wish you the very best of luck!
Expo was a tool Macombey really wanted to utilize from the beginning. I have been working with React Native since 2016 and originally I had to use simulators in Xcode, install pods on top of node packages, configure certificates, and more abundant objectives that take time away from actual development. As a development studio, we have to move quick and get projects to our clients and partners in a matter of months.
Expo made this easy for us. We now have a mobile app for clients to download and test their project on, there is no need to install pods or configure Xcode, and development is super fast and reliable now.
1 code deploys for both: Android and iOS. There is a huge community behind React Native. And one of the best things is Expo. Expo uses React Native to make everything even more and more simple. Awesome technologies. Some other important thing is that while using React Native, you are reusing all JavaScript knowledge you have in your team. You can move easily a frontend dev to develop mobile applications.
A huge PRO of Expo, is that it includes a full building process. You run 1 line in the terminal, and 10 minutes after you have 2 builds done. Double check EAS Expo.
Pros of Objective-C
- Ios212
- Xcode115
- Backed by apple62
- Osx47
- Interface builder40
- Good old fashioned ooe with a modern twist10
- Goober, please2
- Object-oriented1
- Handles well null values (no NullPointerExceptions)1
Pros of Perl
- Lots of libraries72
- Open source66
- Text processing61
- Powerful54
- Unix-style49
- Regex47
- Stable37
- Concise syntax32
- Hackerish29
- Easy to use22
- Swiss army chainsaw16
- Code Less Do More13
- CPAN12
- Freedom9
- All purpose8
- Readability5
- Familiar5
- Many ways to do it5
- Community5
- Object-Oriented4
- Modular4
- Smart (does alot for you)4
- Postmodern3
- It's the best one-off task language3
- For a man2
- Good man pages2
- Auto case variables1
- Single Source Library (CPAN)1
- Multi-threaded support1
- Multiparadigm1
- C-style1
- Hashes1
Sign up to add or upvote prosMake informed product decisions
Cons of Objective-C
- UNREADABLE1
Cons of Perl
- Messy $/@/% syntax4
- No exception handling3
- Bad OO support2
- "1;"2
- No OS threads2
- Variables are global by default1
- Copy-on-create for interpreter-based threads1
- Barewords1
- Errors/warnings are ignored by default1