<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Steve Valentor</title>
    <description>The latest articles on DEV Community by Steve Valentor (@stevevalentor).</description>
    <link>https://dev.to/stevevalentor</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F864233%2F9d1f4142-00fd-470e-8fd7-4cbc192232e2.jpg</url>
      <title>DEV Community: Steve Valentor</title>
      <link>https://dev.to/stevevalentor</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/stevevalentor"/>
    <language>en</language>
    <item>
      <title>Why Swift Has Overtaken Objective-C for iOS App Development</title>
      <dc:creator>Steve Valentor</dc:creator>
      <pubDate>Tue, 02 Aug 2022 10:52:53 +0000</pubDate>
      <link>https://dev.to/stevevalentor/why-swift-has-overtaken-objective-c-for-ios-app-development-1409</link>
      <guid>https://dev.to/stevevalentor/why-swift-has-overtaken-objective-c-for-ios-app-development-1409</guid>
      <description>&lt;p&gt;iOS is one of the most promising platforms for developing mobile apps. For iOS app development, the two most popular programming languages are Swift and Objective-C. &lt;/p&gt;

&lt;p&gt;Objective-C was the first language for building iOS apps, it was introduced in 2008.  It is one of the difficult languages to learn and code, and also the syntax is not user-friendly. With the introduction of the Swift programming language in 2014, developers and companies have a better alternative to Objective-C to create iOS apps. It is also much more flexible than Objective-C.&lt;/p&gt;

&lt;h2&gt;
  
  
  What challenges were being faced by Objective-C Developers
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Difficult to learn:&lt;/strong&gt; It is not very easy to learn since it is based on object-oriented programming principles and has a complex syntax.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fewer developers:&lt;/strong&gt; As newer and simpler alternatives become available, many developers are no longer using the language, and newcomers are unwilling to learn an obsolete language.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Limited features:&lt;/strong&gt; It is outdated and does not have modern features which causes poor performance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security:&lt;/strong&gt; As an older language, it is more susceptible to hacking.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Swift was Introduced?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Simple to use:&lt;/strong&gt; Swift is extremely easy to use and learn, and doesn't take much time to develop. It's also clear and concise.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open-Source:&lt;/strong&gt; It does not require any licensing fee and can be used by both commercial and non-commercial entities, making it a very versatile programming language.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modern features:&lt;/strong&gt; Being a young language, Swift has several modern features such as optimized memory management, dynamic libraries, better app monetization, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Development:&lt;/strong&gt; This language requires fewer codes, making it simpler to develop. This saves a great deal of time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Also Read:&lt;/strong&gt; &lt;a href="https://dev.to/hokubasavaraj/iphone-application-development-mistakes-to-avoid--1c7n"&gt;iPhone Application Development Mistakes to Avoid&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparison Between Swift and Objective-C
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Readability
&lt;/h3&gt;

&lt;p&gt;While Objective-C is based on C and uses C-style keywords, Swift does not require various symbols, unifying all keywords instead. In addition, Swift is also much closer to natural English than Objective-C, which makes it easy for other languages such as JavaScript or Python to adopt it.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Dynamic Libraries
&lt;/h3&gt;

&lt;p&gt;As Swift libraries are flexible, apps can be updated to a newer version. These dynamic libraries load directly into memory, which helps to optimize the performance of the app.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Safety
&lt;/h3&gt;

&lt;p&gt;As opposed to Objective-C, Swift’s syntax is free of common mistakes. When code is nil, Swift will automatically notify developers of the error. That makes Swift a more secure language and reduces the likelihood of bugs.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Coding
&lt;/h3&gt;

&lt;p&gt;According to Ankit Panwar, iPhone app developer at &lt;a href="https://www.simpalm.com/services/iphone-app-development-company"&gt;Simpalm&lt;/a&gt; "Swift eliminates the need for cumbersome code. Its modern features streamline the process and lessen the need for lengthy code strings. In contrast, Objective-C requires text strings that need a lot of steps to join two pieces of information together."&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Performance
&lt;/h3&gt;

&lt;p&gt;Swift is faster than Objective-C in terms of execution speed. Unburdened by legacy conventions, it achieves faster code implementation as compared to Objective-C.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Maintenance
&lt;/h3&gt;

&lt;p&gt;According to Emily Thompson, Consultant at &lt;a href="https://www.daeken.com/product/daeken-shared-family-calendar/"&gt;Daeken&lt;/a&gt; "Objective-C suffers from a legacy issue. It is built on C, it cannot improve unless C improves. Like C, Objective-C also makes developers write code in separate files, which can be hard to maintain. Swift, however, doesn't need two different files since XCode and the LLVM compiler handle that automatically."&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Swift and Objective-C are both great programming languages that offer great capabilities to iOS developers. The key difference between them is the level of abstraction and the lack of syntax conventions. Swift is more readable, but Objective-C has a wider range of features, including support for object oriented programming. Since the launch of Swift in 2014, all new apps have been developed in Swift. Programmers are also converting older apps written in Objective-C into Swift.&lt;/p&gt;

</description>
      <category>ios</category>
      <category>swift</category>
      <category>iphoneappdevelopment</category>
      <category>appdevelopment</category>
    </item>
    <item>
      <title>How To Prepare For The Coding Interview? Tips For Freshers!</title>
      <dc:creator>Steve Valentor</dc:creator>
      <pubDate>Wed, 18 May 2022 10:57:26 +0000</pubDate>
      <link>https://dev.to/stevevalentor/how-to-prepare-for-the-coding-interview-tips-for-freshers-59i8</link>
      <guid>https://dev.to/stevevalentor/how-to-prepare-for-the-coding-interview-tips-for-freshers-59i8</guid>
      <description>&lt;p&gt;Do you want to crack the coding interviews like a pro? The only thing that will help you in cracking the coding interview is your mastery over coding topics. It requires you to get good grades in your college/university. Practise at home by solving as many coders as needed and you will be prepared for the real world. It could also vary from person to person so, follow these tips and master the concept! Learn how to face an interview with confidence &amp;amp; ace it!&lt;/p&gt;

&lt;h2&gt;
  
  
  Pick your most comfortable programming language
&lt;/h2&gt;

&lt;p&gt;If you're going to interview for a coding job, the first thing you should do is learn one of the languages. You shouldn't pick a language randomly or just because somebody else suggested it. You should choose a language that you're familiar with and confident in. Most companies will let you code in any language, but Google is different—their coders have to use C++, Python, Java, Go, or JavaScript. &lt;/p&gt;

&lt;h2&gt;
  
  
  Brush up on your computer science basics
&lt;/h2&gt;

&lt;p&gt;If you're just starting out in computer science, brush up on your basics! Review college notes, read textbooks, and work on algorithm problems. Learn even the most basic things like splitting strings and reading inputs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learn More:&lt;/strong&gt; &lt;a href="https://dev.to/educative/behavioral-interviews-how-to-prepare-and-ace-interview-questions-55md"&gt;Behavioral Interviews: how to prepare and ace &lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Prepare the questions about data structure and algorithms
&lt;/h2&gt;

&lt;p&gt;Data structures and algorithms are two main topics in computer science. If you are pursuing a degree in computer science, you will probably have studied and learned about data structures and algorithms. But basic data structure and algorithm questions are not likely to be asked in the coding interview although practising these can ease out the process of solving complex questions.&lt;br&gt;
&lt;strong&gt;Under data structure you must be well versed in the following concepts:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Arrays&lt;/li&gt;
&lt;li&gt;Stack&lt;/li&gt;
&lt;li&gt;Trees ( Binary tree, Binary search tree, heap)&lt;/li&gt;
&lt;li&gt;Link list&lt;/li&gt;
&lt;li&gt;Queue&lt;/li&gt;
&lt;li&gt;Graphs (DFS, BFS)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Under algorithm you must be well was of the following topics&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dynamic programming&lt;/li&gt;
&lt;li&gt;Recursion and backtracking&lt;/li&gt;
&lt;li&gt;Divide and conquer&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Prepare the questions about Multithreading And Concurrency
&lt;/h2&gt;

&lt;p&gt;In the software industry, multithreading and concurrency concepts like multithreading and concurrency are used to hire senior-level employees. A candidate would be asked to write many complex codes and two or more tasks are simultaneous to be performed that requires a high level of understanding about coding and its process.&lt;br&gt;
&lt;strong&gt;Common questions under this topics are :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Asynchronous and parallel difference&lt;/li&gt;
&lt;li&gt;Binary and mutex difference&lt;/li&gt;
&lt;li&gt;Race Condition&lt;/li&gt;
&lt;li&gt;Threading safe &lt;/li&gt;
&lt;li&gt;Starvation&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Read about Object-Oriented design interview questions
&lt;/h2&gt;

&lt;p&gt;Object-oriented and system-oriented interviews have become very important in the hiring process for software engineers. In particular, system design interviews can determine whether a candidate is qualified for a senior role. The purpose of the system-oriented design interview is to test your knowledge about scalable services like how the database is shared, how the load is balanced in web servers, and how large files are stored.&lt;br&gt;
Following types of object/design-oriented questions are commonly asked :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Parking lot&lt;/li&gt;
&lt;li&gt;Movie ticket booking system&lt;/li&gt;
&lt;li&gt;ATM programming&lt;/li&gt;
&lt;li&gt;Airline/Hotel management system&lt;/li&gt;
&lt;li&gt;Online stock brokerage system&lt;/li&gt;
&lt;li&gt;Designing any social network &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Find the best interview resources and read books
&lt;/h2&gt;

&lt;p&gt;These books will help you to crack tech interviews easily:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Programming interview tips by &lt;a href="https://www.goodreads.com/en/book/show/154154.Programming_Interviews_Exposed"&gt;John Mongan&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Cracking the coding interview by &lt;strong&gt;Gayle Laakmann Mcdowell&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;The algorithm design manual by &lt;strong&gt;Steven S Skiena&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I would like to share these websites that highly recommended to practice a recent and huge collection of coding questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Geeks for geeks&lt;/li&gt;
&lt;li&gt;Leet code&lt;/li&gt;
&lt;li&gt;Hackerrank&lt;/li&gt;
&lt;li&gt;Code chef&lt;/li&gt;
&lt;li&gt;Codify &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When I was giving an interview for an android developer, I found a very good resource for Android Interview Questions on this link. &lt;a href="https://ducknowl.com/android-interview-questions/"&gt;https://ducknowl.com/android-interview-questions/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Good command in SQL
&lt;/h2&gt;

&lt;p&gt;Many coding tests require you to store and manage data, whether it be the data of your app or user data. Your app should be integrated with a database system so that you can manage this data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding of Material Design Guidelines
&lt;/h2&gt;

&lt;p&gt;All app software engineers must be familiar with Material Design language guidelines. These guidelines cover all essential elements in apps (colours, shades, transitions, element placement, etc.) Otherwise, the app may not be approved for publication on Google Play.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Coding plays a vital role in securing you a high ticket software tech job in the industry. Whether you need to get placed as an entry-level fresher or want to scale up your career, you will grow very first in the organisation if you have a coding background. &lt;/p&gt;

</description>
      <category>coding</category>
      <category>interviewtips</category>
      <category>android</category>
      <category>ios</category>
    </item>
  </channel>
</rss>
