Sunday, 1 May 2016

Week 4 [02-08.05.2016] - Spam Killer

Hello 
Today I would like to present, Facebook's new spam killer . :-)
If you ever wonder how big companies (such as Google or Facebook) are dealing with spam, malware etc., especially which programming languages they are using, then this article is for you (and also for everybody else).

Main link:
Facebook’s New Spam-Killer Hints at the Future of Coding

and some more information:
Fighting spam with Haskell

Questions
1. Do you think that Facebook spam killer is good?
2. What do you think about pure functional languages (such as Haskell - not Scala)?
3. Have you ever tried programming in such a language (functional)?
4. Do you think that functional programming is hard (if yes then why, if no also tell us why)?
5. What we have to do to encourage young programmers to try Haskell, Clojure, F#, OCaml?

40 comments:

  1. 1. Do you think that Facebook spam killer is good?
    I had no opportunity to personally check the quality of the software. I do not want to comment on the quality of this tool. Based on the attached article it seems to be quite reasonable solution. That’s why I would be inclined to say that is good :)
    2. What do you think about pure functional languages (such as Haskell - not Scala)?
    Haskell is probably well suited for data processing. Given the various kinds of data growing from year to year, it would be useful to have such a tool which deal with this problem. Besides, it is not a commercial product and the efficiency of the created software is not without significance. On the other hand, (I allowed myself to read something more about this language), many people have serious reservations about it, ie .:
    - it is difficult to learn. difficult-to-use in windowing, webmastering and mobile applications,
    - not very similar to the popular programming languages,
    - a relatively small amount of good libraries and tools.

    Now I'm stuck. Maybe someone more competent should comment on pros and const of this language :)

    3. Have you ever tried programming in such a language (functional)?

    Unfortunately I didn’t have an opportunity yet , it’s all ahead of me :)

    4. Do you think that functional programming is hard (if yes then why, if no also tell us why)?
    As I wrote above I did not have the occasion yet to program using functional languages. Nevertheless, I'm not blind or deaf to what is happening around. I see a huge increase in the popularity of functional languages, ie. Scala or Haskell. Many of my friends praise these solutions. Drawing on their opinions it seems to me that it is not that difficult to master these languages. Of course, everything depends on our current experience and skills.

    5. What we have to do to encourage young programmers to try Haskell, Clojure, F#, OCaml?
    If you tell them with that They will earn 10 times more than using Java for example, you will not have to bring any more arguments J Speaking seriously, it seems to me that learningprogramming skills in these languages is an investment for the next few years. Specially from the employment perspective. IT sector is governed by very different rules than other sectors, nevertheless if we want to live at any particular level, we need to acquire current technological skills, for example such as functional languages :)

    ReplyDelete
    Replies
    1. Hi Kinga,
      1.With some points I totally agree ie:"it is difficult to learn. difficult-to-use in windowing, webmastering and mobile applications," - this language is not build for mobiles or windowing (yes you build some UI, but not efficent as in .Net or QT) and yes this language is quite hard when we talking about type theory etc., but for everyday use is as hard as Java. The general diference is that, that we are used to procedural programming and that why every functional language will be hard.
      I don't understand this statement " it is not a commercial product and the efficiency of the created software is not without significance", yes Haskell is opensource the same situation is with Java. Haskell is founded by Microsoft and main programmer of this language is hiried by Microsoft R&D in Oxford (Simon Peyton Jones), so I think it's commercial. If you want to build website (Yesod framework) is much easier than in Java. :-) About libraries it depends what are you looking for.
      3. Try it and you wont regret it. Even worse, after some time you may like it. ;)
      4. Everything depends what do you want to do. If yo want to program very low level stuff that this language is not for you. But for every other solution you can use it.
      5. Yeap everything is about salary. I must say it's quite opposite than you wrote. :-) But truth is that there is much more work in Java than in Haskell or Erlang.

      Delete
  2. I think that Facebook spam Killer working properly, never encountered with spam on facebook.
    I believe that the high value of functional languages is - independence from the programming computer hardware. I have not tried this type of programming languages.
    From a superficial look at the functional languages they are not very difficult.

    ReplyDelete
    Replies
    1. Sorry I don't understand this statement "independence from the programming computer hardware" can you be more specific?
      And you have got a point functional programming is not very hard.

      Delete
  3. Every day around the whole world there grows a great number of threats. Spam, viruses, malware and other are more and more dangerous. Hackers build more and more sophisticated threats to attack our IT systems. Therefore big companies as Google or Facebook must rebuild their defeat systems to keep up with hackers every day. Generally I don’t know anything about coding languages, programming platforms and etc but I hope big companies could hire best programmers who can fight with hackers successfully. In my opinion Facebook spam system is very good and very fast and very precise. I have never programmed in such languages as Haskell, Clojure etc. In my opinion we should try to teach children programming from preschool. School and preschool schedules should include more technical subjects which encourage kids to programming.

    ReplyDelete
  4. About programming in schools (especially in Poland) I think that there should be specialized teacher to learn this new way of thinking. I'm not very sure that our education system is prepared for this.
    About your programming, maybe you shoud try :D? If you are using Excel formulas you know how to use functional language. :-)

    ReplyDelete
  5. At the beginning a would mention that this article is very introductory and it is hard to ask your question referring to this document.

    1. Do you think that Facebook spam killer is good?

    What do you mean good? Which criteria do you want to measure? How do you expect which kind of information every individual user want to see?

    2. What do you think about pure functional languages (such as Haskell - not Scala)?

    There is something beautiful in this languages. Many people are stuck in imperative or the objective language types, but when you advance enough you will appreciate power laid in those functional languages.

    3. Have you ever tried programming in such a language (functional)?

    I am proud that I did but frankly speaking I was not prepare enough to discover all power in this languages at thous time.

    4. Do you think that functional programming is hard (if yes then why, if no also tell us why)?

    This types of languages require other approach to programing. It might be hard if you have no proper theoretical introduction and not good enough support from your teacher.

    5. What we have to do to encourage young programmers to try Haskell, Clojure, F#, Ocaml?

    I believe that we need to wait until more teacher would be familiar with this languages. I may propose a hypothesis that this languages are too difficult for most of people for individual learning.

    ReplyDelete
    Replies
    1. It's hard to understand your first sentence. But I will try to answer on this. Yes this article is quite short that's why I gave you another one even with movie. It wasn't hard for me to write some questions for this articles.
      Ad1. It's quite simple, do you get a lot of spam on your facebook account? You don't have to measure anything, you my compare yes (ie Linkedin - sometimes I receive some weird messages ).
      I also agree with answer number five. But really it's not so hard to learn functional programming and I thinks (and many software houses thinks the same) that is easier to learn young programmer new paradigm that to try to teach senior programer some new approach.
      Thanks for your answers :)

      Delete
    2. I red my first sentence and I agree it's hard to understand but you managed to catch main idea there. ;-)

      Delete
  6. First what I thought (again) after reading the article is that the world of IT is changing very quickly. I feel especially in the past few years IT goes in one direction to provide solutions to faster and more accessible... microservices, containers, functional programming, nosql and many more. I wonder what will be next... it will slow down or accelerate? It's incredible in my opinion. I never was programming in Haskell but I would like to know its advantages. In particular, check this opinion 'You know there will be no side effects. And that’s not true of most other languages.' It's probably a second language after Go which I would like to know. Unfortunately, I'm not a programmer and now it is difficult for me to find the right amount of time. Very interesting topic as most of in this week. Thank you. Regards.

    ReplyDelete
    Replies
    1. I am not a very big fan of microservices but this discussion it for other thread. I am quite curious when there will be new paradigm and people will think that this one is the only one. After couple of years we will see wich language will survive and which paradigm is the only one. :-)

      Delete
    2. Actually, functional programming is nothing new. It dates back to the 50's. I guess the first functional programming is LISP (https://en.wikipedia.org/wiki/Lisp_%28programming_language%29). It has quite a few dialects (including Clojure) that are in use today.

      Delete
    3. Yes you are absolutely right. :-)
      And I know that functional programming is quite old, all I wanted to point out is about coming new paradigm in place of functional programming (maybe logic programming).

      Delete
  7. Questions
    1. Do you think that Facebook spam killer is good?
    I have no time to possibility to validate it. Description looks promising. We will see how it goes.

    2. What do you think about pure functional languages (such as Haskell - not Scala)?

    If you want to know "why Haskell?", then you need to consider advantages of functional programming languages:
    • Functional programs tend to be much more terse than their ImperativeLanguage counterparts. Often this leads to enhanced programmer productivity
    • FP encourages quick prototyping. As such, I think it is the best software design paradigm for ExtremeProgrammers... but what do I know.
    • FP is modular in the dimension of functionality, where ObjectOrientedProgramming is modular in the dimension of different components.
    • The ability to have your cake and eat it. Imagine you have a complex OO system processing messages - every component might make state changes depending on the message and then forward the message to some objects it has links to. Wouldn't it be just too cool to be able to easily roll back every change if some object deep in the call hierarchy decided the message is flawed? How about having a history of different states?
    • Many housekeeping tasks made for you: deconstructing data structures (PatternMatching), storing variable bindings (LexicalScope with closures), strong typing (TypeInference), GarbageCollection, storage allocation, whether to use boxed (pointer-to-value) or unboxed (value directly) representation...
    • Safe multithreading! Immutable data structures are not subject to data race conditions, and consequently don't have to be protected by locks. If you are always allocating new objects, rather than destructively manipulating existing ones, the locking can be hidden in the allocation and GarbageCollection system.

    Source: http://c2.com/cgi/wiki?AdvantagesOfFunctionalProgramming
    3. Have you ever tried programming in such a language (functional)?
    I have never tried to do so.

    4. Do you think that functional programming is hard (if yes then why, if no also tell us why)?
    Unfortunately I have no clue as I have never used it.

    5. What we have to do to encourage young programmers to try Haskell, Clojure, F#, OCaml?
    Haskell has its own advantages such as:
    • Clear, intuitive syntax inspired by mathematical notation.
    • List comprehensions to create a list based on existing lists.
    • Lambda expressions: create functions without giving them explicit names. So it's easier to handle big formulas.
    • Haskell is completely referentially transparent. Any code that uses I/O must be marked as such. This way, it encourages you to separate code with side effects (e.g. putting text on the screen) from code without (calculations).

    Such advantages can encourage young programmers to try Haskell.

    ReplyDelete
    Replies
    1. That is quite big list of pros in Haskell in your post.
      But when it comes to fifth point, those advantages can be easily achieved in Python. So when young programmer can get this point that you post in one of the most popular language I don't think that he ever wanted to try Haskell (or other language).

      Delete
  8. Interesting article, to be honest I always thought that spam killers are implemented with some kind of logistic regression classifiers, that can bye trained on the fly. I don't use facebook too often, so I cannot judge if it's spam killer works fine. As far as I remember, I have never received a spam message, so maybe it's really good.
    I don't know any pure functional language. I can see some pros in objects immutability nad persistence, but I think that people want to learn languages and frameworks that are more popular and better paid on the market.
    On the other hand, high school education should include some programming classes with diffenent languages and paradigms (structural, object oriented, functional, or aspect oriented).

    ReplyDelete
  9. 1. Do you think that Facebook spam killer is good?

    I have not even the faintest idea. The problem is, the programming language choice is to some extent orthogonal to functionality.
    What we learnt from the article is, they used Haskell for its concurrent execution capabilities (surely, things like Clojure, Scala or even Java can't do this, sigh). We still don't know what kind of spam killer is this - presumably it is some kind of a voting system, but they haven't clearly stated this.
    What I really think about this system? I would say that this is example of "Resume Driven Development" practice, but it might be going too far. I am not sure what were the real reasons behind the language choice, but the truth is you can achieve the same level of performance using other languages. And of course you can apply functional paradigm to programs written in C. Nothing stops you from writing purely functional programs in any general-purpose programming language. Haskell? OK, why not, but it is not necessarily required.

    2. What do you think about pure functional languages (such as Haskell - not Scala)?

    Actually you can write purely functional code in Scala. It's up to you.
    Personally, I love functional programming paradigm and I have applied it in wide range of languages including Java and JavaScript. Pure functional languages offer some guarantees that others may not: no side effects. And if there are no side effects, the compiler can often optimize your code beyond what's possible in other languages.
    However, there is something inevitable which purely functional languages are notoriously poor at: a mutable state update. The spam killer might be a good example where you can apply purely functional languages, because the is virtually no state mutation. On the contrary, there is simply no way to avoid this in very simple arcade game. Sure, there are range of tricks to deal with mutable (concurrent) state update. But to be blunt, it reminds me of the Socialism. Socialism was (as we all know) very good in dealing with problems unknown in other political systems.

    Generally, the programming paradigm and the language choice should be based on the problem at hand, rather than programmer's desire to write code in the specific language.

    3. Have you ever tried programming in such a language (functional)?

    I partially answered this question. I never programmed in a purely functional language. However, I apply functional paradigm wherever possible. It leads to much cleaner code.

    4. Do you think that functional programming is hard (if yes then why, if no also tell us why)?

    I think that programming is hard. For most of us the functional programming is hard because we were taught other programming paradigms and there are many new concepts. The learning curve is steep. Once you learn these concepts and the necessary dose of functional design patterns, it becomes a lot easier.

    5. What we have to do to encourage young programmers to try Haskell, Clojure, F#, OCaml?

    The examples you gave are all niche languages. I would rather encourage them to use functional extensions in general purpose programming languages and learn functional style. OK, you may say that learning Haskell will make you better programmer. You may try to use this slogan, but the truth is, majority of people will go where money is involved. It's not feasible to program just for fun all the time (sigh)...

    ReplyDelete
    Replies
    1. Yes I totally agree with you that we don't know anything about what spam killer it is. When it comes to applying functional style in common languages it's true that you can do this, but in most of cases you can't (you can program this style lets say at home but in work it can be really hard because very often you have to adapt your code to guideline).
      When it comes to point number two, yes you can write pure functions in Scala (or in other language). And about mutable state I think that is the biggest plus of Haskell language, about computer games it's not quite true (yes it's not as simple as build game in Java+LibGDX) but it's possible, John Carmac rewrote Wolfenstein 3D in Haskell, there is also Frag game and it's also written in Haskell. When it comes to Clojure you have got play-clj which is wrapper for LibGdx (yes I know that in Clojure you can use atoms and you will get mutable state).
      I don't totatlly agree with last point, because I think that you will learn more of functional programming when you won't use any extension for language and that's because most people after couple of failures (in writting functions) they will switch to procedural style. In language like Haskell there is no such a possibility and they will have to solve problem in this language. When it comes to money and job I must agree with you.

      Delete
  10. First of all thank you for interesting article. Idea of spam killers looks reasonable, but I am not sure is it good enough. I think that there is additional methods combined with described in article. It is similar to handmade rules created by email administrators to fight with the SPAM ;).
    I think there is additional hidden heuristic that is involved in SPAM filtering.

    I prefer objective programming in Python and frameworks like Django ;). Functional languages ensure a possibility fast programming in a team. If you split your target properly it is quite easy to connect different parts of code into expected flow. But from my point of view class based code is clear and more reusable. OCalm is very interesting and powerful language, which might be a great experience for programmers (age and experience does not matter here :)). New language = next experience in programming

    ReplyDelete
    Replies
    1. That is nice point of view. I think that, new language != next experience but new paradigm == next experience. :P

      Delete
  11. 1. Do you think that Facebook spam killer is good?
    In my honest opinion, Facebook is full of spam. Maybe advertisements are not in spam category, who knows...
    2. What do you think about pure functional languages (such as Haskell - not Scala)?
    Personally, I'm using F# and I like it. It's a twist of mind to learn it if you have OOP background. However, It's fun to use and fast to code.
    3. Have you ever tried programming in such a language (functional)?
    As I have already stated, I'm using F#.
    4. Do you think that functional programming is hard (if yes then why, if no also tell us why)?
    Being a developer is hard, from structural programming through object-oriented programming we are reaching functional programming. Moreover, the idea is a bit different even though the product is almost the same. However, sometimes it's faster to use functional programming over OOP. For example UK Finance Sector is swarmed with functional software.
    5. What we have to do to encourage young programmers to try Haskell, Clojure, F#, OCaml?
    What we have to do to encourage young people to be programmers? It's better to start from this question. A lot of computer science students are not programmers and they have already chosen IT. How to amaze young people with programming is not an easy task. I've seen something like this : https://www.tynker.com

    ReplyDelete
    Replies
    1. You would love to use F# in some projects. Don Syme made beautiful work creating this language. Maybe I will try this in some data related project, who knows. Last point is quite sad but it is true I think that every computer science student (even on project management). For everyone I can recomend https://www.codingame.com, you can solve some coding problems in F#, Haskell, Groovy etc.

      Delete
  12. 1. Do you think that Facebook spam killer is good?

    Facebook is packed with really great engineers. I imagine that most of the software they are developing is high quality. I don't see much spam on Facebook (still I'm not a heavy user), so I assume spam killer is working pretty well.

    2. What do you think about pure functional languages (such as Haskell - not Scala)?

    I really like functional programming paradigms. Same as Paweł Dyda, I try to write in functional style while I'm developing in JS and Python. Apparently even Haskell isn't 100% pure functional language (see here: http://stackoverflow.com/a/2890401). I'm really impressed by Clojure and I would love to learn it and start using in commercial projects.

    3. Have you ever tried programming in such a language (functional)?

    As mentioned earlier I try to use functional paradigms in JS. I've also worked a bit with a backend in Clojure.

    4. Do you think that functional programming is hard (if yes then why, if no also tell us why)?

    Functional languages require much more discipline. Clojure learning curve was pretty steep for me. Dealing with immutable data was really complicated at first. Still, lack of side effects is amazing. So overall functional programming is hard, but once you grasp it, it's much easier to reason about the code and its execution.

    5. What we have to do to encourage young programmers to try Haskell, Clojure, F#, OCaml?

    So I feel that Clojure is on the rise right now and it's gaining a lot of traction in the industry. Paweł Dyda summed this pretty well, most people will probably follow the money.

    ReplyDelete
    Replies
    1. Ad 1. Yes it's totally true.
      Ad 2. When it comes to IO (monadic IO) explanation it's not quite simple but first link under this post (written by Don Stewart - he is one of co-author of Real World Haskell book).
      Yes Clojure is really nice, but in Poland it can be quite hard to find job in this langue. In my last job I was able to use this language in project it was qute nice experience (code still works :P so I must say that we did some nice job :-) ), have fun with it.

      Delete
  13. 1-Do you think that Facebook spam killer is good?
    the best Spam Killer keeps out unwanted SMS that can come from someone you know but also (and especially) from companies that want to sell you all sorts of things and allows to enact special rules for certain contacts or certain types of numbers. This way, your answer will always be the same, as the application will be active.

    2-What do you think about pure functional languages (such as Haskell - not Scala)?
    Facebook also uses OCaml and D (to name some niche languages) and they wrote their own language or two. I haven't heard about any major projects in Go, Scala or Rust but I wouldn't be surprised if they had some.
    Why is having a project in Haskell a big deal? Extrapolating from a single data point isn't a great predictor of the future!
    IMHO "Facebook's New Spam-Killer hints at the Future of Coding, and that future is functional" would be a better article. (and not necessarily in Haskell; functional and sometimes pure libraries are popping up in pretty much every language)

    3-Have you ever tried programming in such a language (functional)?

    Unfortunately,not yet

    4-Do you think that functional programming is hard (if yes then why, if no also tell us why)?
    I'm an average enterprise software developer that writes Java, SQL and Python all day. I've learnt many languages. Recently I've been learning Haskell and it's really not that difficult to pick up. Exciting, but not difficult.

    5-What we have to do to encourage young programmers to try Haskell, Clojure, F#, OCaml?

    In order to get Haskell, your brain will have to get seriously rewired, keep trying until that happens.
    The one thing you might want to learn is recursion, but you can just do that by writing some Haskell.

    ReplyDelete
  14. When it comes to Golang it's heavily used in Google infrastructure. That's great that you have learn some Haskell, I also try to learn it more and more but usually I don't have enough time to achieve some level in this language. I must agree after years in university and many lines of code written in Java, recursion was really hard for me (even now I have some brain teasers with it now). Thank you for your answer.

    ReplyDelete
  15. Hi, thanks for the interesting post. Here is my opinion:
    1. I am a Facebook user and I haven't experienced any spam. I am not sure whether I am lucky or it is the Spam Killer I should thank. ;)
    2. They surely have their place for usage, make the code more readable since it is very similar to mathematical functions.
    3. I haven't tried yet the pure functional languages (i.e. Haskell) however I've experience a bit of it in Python and it wasn't a pleasurable experience...
    4. I don't think it is hard however it comes down to the specific needs that projects require.
    5. We should show them what are the advantages of using them over other types of languages. We should show them what this approach enables us to achieve that the others don't.

    ReplyDelete
    Replies
    1. For some people mathematical functions can be hard for read, but for example some say that you don't have to know a lot of mathematics (after watching some functions written in this language is hard for me to imagine this kind of person or maybe my knowledge of this language is not good enough - I am still in phase of learning some concepts). Yes in Python some things look wierd especialy when it come to not procedural programming :D.

      Delete
  16. 1. Do you think that Facebook spam killer is good?
    In my opinion Facebook spam killer are good. I have facebook account more than 3 years and there was never any spam on my email. Google spam killers are good as well.
    2. What do you think about pure functional languages (such as Haskell - not Scala)?
    Scala is something like poor version D or R. Not easy, not nice but functional and popular. The clue in this kind of language is just-in-time compilation.
    3. Have you ever tried programming in such a language (functional)?
    No, only python. But it's also possible to make good web site using python framework like Django or just python library like webpy.
    4. Do you think that functional programming is hard (if yes then why, if no also tell us why)?
    It's hard. But php is old and it's time for php to give a break and just leave. As far as I know functional language just seems to be easy. In practice is hard to write stable code using that easy looking syntax.
    5. What we have to do to encourage young programmers to try Haskell, Clojure, F#, OCaml?
    Only catchy slogan like "facebook is using it" could convince young people to start using functional programming languages.

    ReplyDelete
    Replies
    1. I see that there is a lot of people here which are using Python language and that's really nice. :-) If you are using python you can try some functional programming style (there is also a book "Functional Python Programming" by Steven Lott) . In Python there is itertools module and PyMonad Library, so you can try to build your websites in more functional style :P

      Delete
  17. Do you think that Facebook spam killer is good?

    I have never received any spam in my facebook messages, so it looks like it is pretty good. I don't know much about spam killers, but as I can imagine it is a challenge to create such system for as big social portal as facebook. The amount of spam that is sent every day is huge and spam killers are really necessary for using our mailboxes convenient.

    What do you think about pure functional languages (such as Haskell - not Scala)?
    Have you ever tried programming in such a language (functional)?

    I don't have much in common with programming in functional languages. Of course I used R for several times, but I didn't create any complicated aplications with it, so I am not sure if it should be counted as "programming in functional language".

    Do you think that functional programming is hard (if yes then why, if no also tell us why)?

    I think it might be difficult for someone who programmed a lot in object-oriented programming, because they have to change the way of thinking and planning their work. But since I don't know any of those languages I cannot say more.

    What we have to do to encourage young programmers to try Haskell, Clojure, F#, OCaml?

    Young people are nowadays amazing in gathering knowledge and improving their skills, often it is enought to show them basics and explain why the idea or solution is better than others and where it is used.

    ReplyDelete
    Replies
    1. I agree with you when it comes to switching your mind from OO to functional style. What's quite interesting some companies are hiring CS students because it is easier to teach them how to program (let say Scala) then to learn programmers with much experience in OO paradigm to program this way.

      Delete
  18. I must admit that Facebook antispam software is quite good. If you look at it through perspective of the spam on their site :)
    about the functional languages, I don't have any experience in this technology. Something simillar to that are probably Excel formulas. If we look at function languages like on Excel formulas than it has some limited potential. I don't think I would like to write whole project in this type of technology but there is a lot of situation where this is more than enough and such code structure is very handy.
    Young programmers should be learned proper thinking. As we all know programming is about 80% about searching the proper solution, only 20% is the coding. New technology, language you can learn very fast, I always say that language is not important. If you can't find the solution you won't be able to program it

    ReplyDelete
  19. According to the article and previous comments I'm going to say that is good. Moving to the questions about functional languages. I've only tried to do something with "not purely functional" scala but that was to less to form a opinion. I've heard different opinions - that the functional programming is hard, that it's just depends on programmer profile and so on. For me it is yet hard, just because of mentioned lack of experience. To find out how to encourage young programmers to try functional languages I should encourage myself first - we will see what will be the convincing argument.

    ReplyDelete
  20. I use faceebok very rarely and only contact with a small group of people. I do not like those things. I don't know these languages. I never had the opportunity to work with these languages. I think that they are not difficult - just have a different structure.

    ReplyDelete
  21. 1. Do you think that Facebook spam killer is good?
    > I do not have a Facebook account and it is hard to say much without actually experiencing it. I'm not sure if there is any tech that capable of understanding the `context` yet.

    2. What do you think about pure functional languages (such as Haskell - not Scala)?
    > I've always enjoyed Haskell whenever I've tried. However, so far, couldn't find a use case to use it on anything real.

    3. Have you ever tried programming in such a language (functional)?
    > I believe I've already answered this question above.

    4. Do you think that functional programming is hard (if yes then why, if no also tell us why)?
    > In my opinion, Haskell wasn't hard.

    5. What we have to do to encourage young programmers to try Haskell, Clojure, F#, OCaml?
    > It must something similar to a musician is trying different instruments.

    ReplyDelete
  22. 1. Do you think that Facebook spam killer is good?
    I don't get any spam messages so I think that it is quite good.
    2. What do you think about pure functional languages (such as Haskell - not Scala)?
    I have no experience in programming in Haskell, unfortunately.
    3. Have you ever tried programming in such a language (functional)?
    Unfortunately, I haven't. I have these languages on my list languages to learn, explore.

    4. Do you think that functional programming is hard (if yes then why, if no also tell us why)?
    It is really hard for me to answer this question because I have no experience in this type of languages.

    5. What we have to do to encourage young programmers to try Haskell, Clojure, F#, OCaml?
    I think that the labor market determines the popularity of certain languages. I think that young programmers are up to date and if they recognize new trends and the necessity of the knowledge of another language like Haskell or Scala they try it. The most important motivator is money.

    ReplyDelete
  23. 1. Do you think that Facebook spam killer is good?
    After read your article I think that it is such a good spam killer. But like everything it could be better. I just writted that everytging what was created by people cen be upgraded.
    There is one problem with facebook, be precise there are some kind of problem with advertisements – who doesn’t know anything about it could be victim of that spam – i’m talking about that spam where you are spamer after click on the propose post. After that your account will be sending spam to everone from your friends – that is horrible situation.
    2. What do you think about pure functional languages (such as Haskell - not Scala)?
    I’m not specialist in programming that it is question not for me.
    3. Have you ever tried programming in such a language (functional)?
    Unfortunately I didn’t have any experience in that kind of programming – but future is for us.
    4. Do you think that functional programming is hard (if yes then why, if no also tell us why)?
    It is depend of your affiction – If you know any of programming language before you will be have less problems with learning that kinf od programming – that is my opinion.
    5. What we have to do to encourage young programmers to try Haskell, Clojure, F#, OCaml?
    Everythig depends of perspective for young IT specialist. If there will be good work for them, many offers with that kid of programming language and it will give them enought money that will be the best way to learn

    ReplyDelete
  24. 1. Do you think that Facebook spam killer is good?
    It is hard for me to imagine how would Facebook look like without a spam killer ;-) However, based on the article, it looks pretty amazing!

    2. What do you think about pure functional languages (such as Haskell - not Scala)?
    Functional programming is a past and a future ;-) I think that in many cases it was oversimplification to use objective oriented programming for all purposes. Sometimes it is just strange to use objects when functional approach is more natural.

    3. Have you ever tried programming in such a language (functional)?
    I try to learn F# and it looks like I'll be using it more.

    4. Do you think that functional programming is hard (if yes then why, if no also tell us why)?
    It is not easy. It requires more mathematical thinking. It is hard to switch from object oriented language to functional but once you learn fundamentals it becomes quite obvious when to use it.

    5. What we have to do to encourage young programmers to try H
    askell, Clojure, F#, OCaml?
    Definitely show more cases like this. Programmers want to code more scalable systems and they need to become more aware of constraints of tools that they use.

    ReplyDelete