Etiqueta: programacion

  • Buenas prácticas interesantes para programar

    Buenas prácticas interesantes para programar

    [fusion_builder_container type=»flex» hundred_percent=»no» hundred_percent_height=»no» min_height_medium=»» min_height_small=»» min_height=»» hundred_percent_height_scroll=»no» align_content=»stretch» flex_align_items=»flex-start» flex_justify_content=»flex-start» flex_wrap_medium=»» flex_wrap_small=»» flex_wrap=»wrap» flex_column_spacing=»» hundred_percent_height_center_content=»yes» equal_height_columns=»no» container_tag=»div» menu_anchor=»» hide_on_mobile=»small-visibility,medium-visibility,large-visibility» status=»published» publish_date=»» class=»» id=»» spacing_medium=»» margin_top_medium=»» margin_bottom_medium=»» spacing_small=»» margin_top_small=»» margin_bottom_small=»» margin_top=»» margin_bottom=»» padding_dimensions_medium=»» padding_top_medium=»» padding_right_medium=»» padding_bottom_medium=»» padding_left_medium=»» padding_dimensions_small=»» padding_top_small=»» padding_right_small=»» padding_bottom_small=»» padding_left_small=»» padding_top=»» padding_right=»» padding_bottom=»» padding_left=»» link_hover_color=»» link_color=»» border_sizes=»» border_sizes_top=»» border_sizes_right=»» border_sizes_bottom=»» border_sizes_left=»» border_color=»» border_style=»solid» border_radius_top_left=»» border_radius_top_right=»» border_radius_bottom_right=»» border_radius_bottom_left=»» box_shadow=»no» box_shadow_vertical=»» box_shadow_horizontal=»» box_shadow_blur=»0″ box_shadow_spread=»0″ box_shadow_color=»» box_shadow_style=»» z_index=»» overflow=»» gradient_start_color=»» gradient_end_color=»» gradient_start_position=»0″ gradient_end_position=»100″ gradient_type=»linear» radial_direction=»center center» linear_angle=»180″ background_color_medium=»» background_color_small=»» background_color=»» background_image_medium=»» background_image_small=»» background_image=»» skip_lazy_load=»» background_position_medium=»» background_position_small=»» background_position=»center center» background_repeat_medium=»» background_repeat_small=»» background_repeat=»no-repeat» background_size_medium=»» background_size_small=»» background_size=»» background_custom_size=»» background_custom_size_medium=»» background_custom_size_small=»» fade=»no» background_parallax=»none» enable_mobile=»no» parallax_speed=»0.3″ background_blend_mode_medium=»» background_blend_mode_small=»» background_blend_mode=»none» video_mp4=»» video_webm=»» video_ogv=»» video_url=»» video_aspect_ratio=»16:9″ video_loop=»yes» video_mute=»yes» video_preview_image=»» pattern_bg=»none» pattern_custom_bg=»» pattern_bg_color=»» pattern_bg_style=»default» pattern_bg_opacity=»100″ pattern_bg_size=»» pattern_bg_blend_mode=»normal» mask_bg=»none» mask_custom_bg=»» mask_bg_color=»» mask_bg_accent_color=»» mask_bg_style=»default» mask_bg_opacity=»100″ mask_bg_transform=»left» mask_bg_blend_mode=»normal» render_logics=»» logics=»» absolute=»off» absolute_devices=»small,medium,large» sticky=»off» sticky_devices=»small-visibility,medium-visibility,large-visibility» sticky_background_color=»» sticky_height=»» sticky_offset=»» sticky_transition_offset=»0″ scroll_offset=»0″ animation_type=»» animation_direction=»left» animation_color=»» animation_speed=»0.3″ animation_delay=»0″ animation_offset=»» filter_hue=»0″ filter_saturation=»100″ filter_brightness=»100″ filter_contrast=»100″ filter_invert=»0″ filter_sepia=»0″ filter_opacity=»100″ filter_blur=»0″ filter_hue_hover=»0″ filter_saturation_hover=»100″ filter_brightness_hover=»100″ filter_contrast_hover=»100″ filter_invert_hover=»0″ filter_sepia_hover=»0″ filter_opacity_hover=»100″ filter_blur_hover=»0″][fusion_builder_row][fusion_builder_column type=»1_1″ align_self=»auto» content_layout=»column» align_content=»flex-start» valign_content=»flex-start» content_wrap=»wrap» spacing=»» center_content=»no» column_tag=»div» link=»» target=»_self» link_description=»» min_height=»» hide_on_mobile=»small-visibility,medium-visibility,large-visibility» sticky_display=»normal,sticky» class=»» id=»» type_medium=»» type_small=»» flex_grow_medium=»» flex_grow_small=»» flex_grow=»» flex_shrink_medium=»» flex_shrink_small=»» flex_shrink=»» order_medium=»0″ order_small=»0″ dimension_spacing_medium=»» dimension_spacing_small=»» dimension_spacing=»» dimension_margin_medium=»» dimension_margin_small=»» margin_top=»» margin_bottom=»» padding_medium=»» padding_small=»» padding_top=»» padding_right=»» padding_bottom=»» padding_left=»» hover_type=»none» border_sizes=»» border_color_hover=»» border_color=»» border_style=»solid» border_radius=»» box_shadow=»no» dimension_box_shadow=»» box_shadow_blur=»0″ box_shadow_spread=»0″ box_shadow_color=»» box_shadow_style=»» z_index_hover=»» z_index=»» overflow=»» background_type=»single» gradient_start_color=»» gradient_end_color=»» gradient_start_position=»0″ gradient_end_position=»100″ gradient_type=»linear» radial_direction=»center center» linear_angle=»180″ background_color_medium=»» background_color_small=»» background_color_medium_hover=»» background_color_small_hover=»» background_color_hover=»» background_color=»» background_image_medium=»» background_image_small=»» background_image=»» background_image_id_medium=»» background_image_id_small=»» background_image_id=»» lazy_load=»avada» skip_lazy_load=»» background_position_medium=»» background_position_small=»» background_position=»left top» background_repeat_medium=»» background_repeat_small=»» background_repeat=»no-repeat» background_size_medium=»» background_size_small=»» background_size=»» background_custom_size=»» background_custom_size_medium=»» background_custom_size_small=»» background_blend_mode_medium=»» background_blend_mode_small=»» background_blend_mode=»none» render_logics=»» sticky=»off» sticky_devices=»small-visibility,medium-visibility,large-visibility» sticky_offset=»» absolute=»off» absolute_props=»» filter_type=»regular» filter_hover_element=»self» filter_hue=»0″ filter_saturation=»100″ filter_brightness=»100″ filter_contrast=»100″ filter_invert=»0″ filter_sepia=»0″ filter_opacity=»100″ filter_blur=»0″ filter_hue_hover=»0″ filter_saturation_hover=»100″ filter_brightness_hover=»100″ filter_contrast_hover=»100″ filter_invert_hover=»0″ filter_sepia_hover=»0″ filter_opacity_hover=»100″ filter_blur_hover=»0″ transform_type=»regular» transform_hover_element=»self» transform_scale_x=»1″ transform_scale_y=»1″ transform_translate_x=»0″ transform_translate_y=»0″ transform_rotate=»0″ transform_skew_x=»0″ transform_skew_y=»0″ transform_scale_x_hover=»1″ transform_scale_y_hover=»1″ transform_translate_x_hover=»0″ transform_translate_y_hover=»0″ transform_rotate_hover=»0″ transform_skew_x_hover=»0″ transform_skew_y_hover=»0″ transform_origin=»» transition_duration=»300″ transition_easing=»ease» transition_custom_easing=»» motion_effects=»» scroll_motion_devices=»small-visibility,medium-visibility,large-visibility» animation_type=»» animation_direction=»left» animation_color=»» animation_speed=»0.3″ animation_delay=»0″ animation_offset=»» last=»no» border_position=»all»][fusion_title title_type=»text» marquee_direction=»left» marquee_speed=»15000″ rotation_effect=»bounceIn» display_time=»1200″ highlight_effect=»circle» loop_animation=»off» highlight_width=»9″ highlight_top_margin=»0″ before_text=»» rotation_text=»» highlight_text=»» after_text=»» title_link=»off» link_url=»» link_target=»_self» hide_on_mobile=»small-visibility,medium-visibility,large-visibility» sticky_display=»normal,sticky» class=»» id=»» content_align_medium=»» content_align_small=»» content_align=»left» size=»1″ animated_font_size=»» fusion_font_family_title_font=»» fusion_font_variant_title_font=»» font_size=»» line_height=»» letter_spacing=»» text_transform=»» text_color=»» hue=»» saturation=»» lightness=»» alpha=»» animated_text_color=»» text_shadow=»no» text_shadow_vertical=»» text_shadow_horizontal=»» text_shadow_blur=»0″ text_shadow_color=»» text_stroke=»no» text_stroke_size=»1″ text_stroke_color=»» text_overflow=»none» margin_top_medium=»» margin_right_medium=»» margin_bottom_medium=»» margin_left_medium=»» margin_top_small=»» margin_right_small=»» margin_bottom_small=»» margin_left_small=»» margin_top=»» margin_right=»» margin_bottom=»» margin_left=»» margin_top_mobile=»» margin_bottom_mobile=»» gradient_font=»no» gradient_start_color=»» gradient_end_color=»» gradient_start_position=»0″ gradient_end_position=»100″ gradient_type=»linear» radial_direction=»center center» linear_angle=»180″ highlight_color=»» style_type=»default» sep_color=»» link_color=»» link_hover_color=»» animation_type=»» animation_direction=»left» animation_color=»» animation_speed=»0.3″ animation_delay=»0″ animation_offset=»»]

    Buenas prácticas interesantes para programar

    [/fusion_title][fusion_text columns=»» column_min_width=»» column_spacing=»» rule_style=»» rule_size=»» rule_color=»» hue=»» saturation=»» lightness=»» alpha=»» content_alignment_medium=»» content_alignment_small=»» content_alignment=»» hide_on_mobile=»small-visibility,medium-visibility,large-visibility» sticky_display=»normal,sticky» class=»» id=»» margin_top=»» margin_right=»» margin_bottom=»» margin_left=»» fusion_font_family_text_font=»» fusion_font_variant_text_font=»» font_size=»» line_height=»» letter_spacing=»» text_transform=»» text_color=»» animation_type=»» animation_direction=»left» animation_color=»» animation_speed=»0.3″ animation_delay=»0″ animation_offset=»» logics=»»]

    Bajo el lema de Linus Torvalds:

    “Los malos programadores se preocupan por el código. Los buenos programadores se preocupan por las estructuras de datos y cómo se relacionan.”

    Rob Pike fue uno de los pioneros de Unix y creador del lenguaje de programación GO, también conocido con Golang y es lenguaje desarrollado por Google.
    Este lenguaje caracteriza por l simplicidad y eficiencia, y se utiliza para desarrollar programas en línea de comandos hasta sistemas distribuidos y aplicaciones web de alta escala.

    Rob Pike edito las siguientes buenas prácticas, fácilmente entendibles.

    1. No puedes prever donde va a consumir más tiempo un programa, así que, no pierdas ni un segundo tratando de adivinarlo ni optimizando código hasta que puedas demostrar que hay un cuello de botella.
    2. Mide. No optimices hasta que hayas medido y, aún entonces, no lo hagas a menos que una parte de tu código destaque —positiva o negativamente— del resto.
    3. Los algoritmos sofisticados suelen ser lentos cuando n es pequeño y n suele ser pequeño. Hasta que no constates que n será grande frecuentemente, no seas muy sofisticado. Y si n aumenta, utiliza primero la regla 2..
    4. Los algoritmos sofisticados suelen tener más errores que los simples y son mucho más difíciles de implementar. Utiliza algoritmos y estructuras de datos simples.
    5. Los datos mandan. Si has elegido las estructuras de datos correctas y organizado bien las cosas, los algoritmos casi siempre serán evidentes. Las estructuras de datos, no los algoritmos, son la clave de la programación.

    En Informática esto implica definir la información con la que vas a trabajar y cómo la vas a ordenar —para que sea sencillo crearla, actualizarla o consultarla— antes de ponerte a desarrollar el software que lo haga. En el mundo de los muggles (ser humano sin ninguna habilidad mágica), podría traducirse por pensar antes cómo se va a interactuar con cualquier cosa que creemos antes de hacerlo, ya sea un mail, una factura o una cajonera.

    [/fusion_text][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

  • Abrir la puerta a nuestros hijos en programación ¿Estamos seguros?

    Abrir la puerta a nuestros hijos en programación ¿Estamos seguros?

    Originar de bonilla.com
    http://mailchi.mp/bonillaware/abrir-la-puerta-bonilista?e=df2703884e 

    Todo padre con unas mínimas habilidades informáticas quiere enseñar a sus hijos a programar y yo no soy una excepción. Empecé a escribir este artículo para enumerar las herramientas y lenguajes que pensaba utilizar, pero enseguida me di cuenta de que era empezar la casa por el tejado. Lo primero que tendríamos que hacer es preguntarnos si debemos hacerlo.Discutir la conveniencia de enseñar a programar a un niño es tan fútil como discutir la conveniencia de aprender a leer o sumar. No es un conocimiento aislado y orientado a una práctica concreta sino una habilidad transversal que deberán utilizar, independientemente de que acaben siendo abogados, cocineros, periodistas o informáticos.

    Y, sin embargo, a pesar de vislumbrar mejor que nadie un futuro que estamos ayudando a construir, muchos aún dudamos si no estamos simplemente intentando racionalizar una montaña de miedos, dudas, esperanzas y anhelos propios, cuya sombra proyectamos sobre nuestros hijos.

    De un tiempo a esta parte, cada vez que me junto con un padre informático, el tema de enseñar a programar a nuestros hijos sale en la conversación. Todo el mundo lo ve claro. Todo el mundo va a intentarlo, pero aunque he asistido a decenas de debates sobre la mejor forma para conseguirlo, a nadie parece importarle la motivación para hacerlo.¿Y si queremos que aprendan a programar porque parece la mejor manera de garantizarles un medio de ganarse (bien) la vida? ¿Y si simplemente deseamos que sean lo que siempre quisimos ser, en vez de ayudarles a ser ellos mismos? No sé si otros se plantean las mismas preguntas, pero yo no quiero que llegue el día en el que mis hijos me las hagan sin tener una respuesta. Por eso, he decidido mostrar a mis hijos por qué deberían programar, en vez de explicarles cómo hacerlo.

    Mucho antes de empezar con Osmo, Dash & Dot o LEGO WeDo, les contaré cómo un ordenador con 64Kb de memoria -con una electrónica más básica que la tostadora que tenemos en casa- fue capaz de guiarnos 356.000Km a través del espacio y hacernos aterrizar en la Luna. Muchísimo antes de plantearme siquiera enseñarles Scratch, veremos juntos “Juegos de Guerra” para aprender por qué, a veces, el único movimiento ganador es no jugar.

    Sólo a veces. Porque, para mí, programar es uno de los juegos más divertidos del mundo. Ese es el único motivo por el que estoy dispuesto a exponer a mis hijos a la programación y esa aproximación lúdica -sin ningún objetivo, más allá de divertirse- la única que estoy dispuesto a aceptar.

    Cualquiera puede enseñarles a escribir código, pero yo quiero que entiendan la informática no como un fin en sí mismo, sino una herramienta para llegar a donde ellos quieran. Una herramienta tan poderosa que permite viajar por nuestro universo, en un navío guiado por una tostadora, o imaginar y construir otro nuevo.

    Y por eso creo que, lo mejor que puedo hacer como padre no es enseñar a programar a mis hijos, sino conseguir que ellos me pidan que lo haga. Conseguir que lo deseen, no desear que lo consigan. Si no lo logro, el fracaso no será suyo sino mío, por haberme alejado tanto del niño que una vez fui como para hacer que jugar conmigo y mis juguetes no sea divertido.

    Si lo consigo, da igual si acaban ganándose la vida programando o sólo utilizan de forma esporádica sus nuevas habilidades. Con que conozcan la magia que existe tras el umbral y sepan que siempre estará ahí –esperándolos- si algún día quieren invocarla, me doy por satisfecho. Podemos abrir puertas a nuestros hijos, pero deben cruzarlas ellos solos.